Input对象可以获取用户所有行为的输入,如鼠标、键盘、加速度、陀螺仪、按钮等,所以掌握Input对象就可以在外部输入信息和系统之间进行交互。
Input对象的主要变量:
mousePonsition 当前鼠标的像素坐标
anyKeyDown 用户点击任何键或鼠标按钮,第一帧返回true
acceleration 加速度传感器的值
anykey 当前是否有按键按住,若有返回true
inputString 返回键盘输入的字符串
Touches 返回当前所有触摸(touch)列表
1、mousePonsition变量
变量mousePonsition是一个三维坐标,用于获取当前鼠标的像素坐标,像素坐标是以屏幕左下角为(0,0)点,屏幕右上角为(Screen.width,Screen.height)计算的,具体获取方式可以参看一下代码:
Void Update(){
If(Input.GetButtonDown(0))//点击鼠标左键
{
Debug.Log(Input.mousePonsition);//打印鼠标位置
}
}
2、anyKeyDown 和anykey变量
变量anykey用于显示当前是否有任何按键按下,若是有,始终返回true。将下面代码添加到脚本中,将脚本挂在到摄像机上,运行Unity,当按下任何键(按钮持续处于按下)时就会不停的显示打印信息:
Void Update()
{
If(Input.anyKey) //按下任意键
{
Debug(“有按键被持续按下”); //打印信息
}
}
变量anyKeyDown和变量anykey有一些区别,前者只有在按下按钮后的第一帧返回True。将上面的代码稍微修改后运行场景即可发现,只要有按钮按下,就会打印一次信息,若是按钮持续处于按下状态,也仅仅打印第一次。
Void Update()
{
If(InputanyKeyDown ) //按下任意键
{
Debug(“有按键被按下”); //打印信息
}
}
3、inputString 变量
变量inputString返回值在这一帧中输入的字符串。注意,在返回的字符串中只包含ASCII码中的字符,若是本次没有输入字符串就会返回一个空串,如下面代码显示:
Void Update()
{
If(Input.inputString !=””)
{
Debug.Log(Input.inputString);
}
}
4、GetButton方法、GetButtonDown方法与GetButtonUP方法
这三种方法用于监听虚拟按钮的按下状态,包括按钮按下时、按钮按下中、按钮抬起时3个状态,开发人员需要在Update方法中回调这些方法来判断按钮的状态。其中的区别可以参看下面的功能代码片段:
Void Update()
{
if (Input.GetButton("fiel"))
{
Debug.Log("按键被连续按下");
}
if (Input.GetButtonDown("fiel"))
{
Debug.Log("按键被按下");
}
if (Input.GetButtonUp("fiel"))
{
Debug.Log("按键被抬起");
}
}
5、GetKey方法、GetKeyDown方法、GetKeyUp方法
这3中方法主要用于监听键盘上的按键状态,从开发人员需要在Update方法中调用这些方法,并传入想要监听的键名或键码。每个按钮的状态也分为按下、抬起、按住3种。使用者可以根据需要进行选用。使用方法如下:
if (Input.GetKey(KeyCode.A)) //KeyCode 是枚举类型,可以获取里面的每一个枚举元素,枚举元素分别对应键盘上的按键
{
Debug.Log("A键被按住");
}
if (Input.GetKeyDown(KeyCode.A))
{
Debug.Log("A键被按下");
}
if (Input.GetKeyUp(KeyCode.A))
{
Debug.Log("A键被抬起");
}
6、GetMounseButton方法、GetMouseButtonDown方法和GetMouseButtonUP方法
当开发计算机端的游戏时,肯定需要监听鼠标的操控。Input输入对象中包含了GetMounseButton、GetMouseButtonDown和GetMouseButtonUP三种方法,用他们来监听鼠标按键。在使用时只要在Update中传入鼠标按键的索引,就可以对鼠标进行监听了。与前面介绍的方法类似,这三种方法也分别监听了鼠标按键的3个状态:
if (Input.GetMouseButton(0))
{
Debug.Log("鼠标左键键被按住");
}
if (Input.GetMouseButtonDown(0))
{
Debug.Log("鼠标左键键被按下");
}
if (Input.GetMouseButtonUp(0))
{
Debug.Log("鼠标左键键被抬起");
}
说明:这三个方法的参数是一个int类型索引。常用的鼠标按键为0、1、2分别对应的鼠标的左键、右键、中键。需要使用的时候传入相应的索引就可以监听对应的按键了
本文出自 “13233523” 博客,请务必保留此出处http://13243523.blog.51cto.com/13233523/1971003
原文地址:http://13243523.blog.51cto.com/13233523/1971003