Unity3D使用input类控制用户的输入,输入包括了用户键盘,鼠标,触摸,重力感应以及地理位置输入等输入方式。
本节我们介绍Unity3D中如何监听用户的鼠标、键盘输入。
首先我们介绍一个很重要的类KeyCode,此类中的值记录各种按键,详细键码参照Unity圣典:http://game.ceeger.com/Script/Enumerations/KeyCode/KeyCode.html。
一.键盘的输入
•GetKey,GetKeyDown,GetKeyUp三个方法分别获取用户键盘按键的输入
1. GetKey:用户长按按键有效;
bool down = Input.GetKeyDown(KeyCode.Space);
2. GetKeyDown:用户按下按键时有效;
bool held = Input.GetKey(KeyCode.Space);
3.GetKeyUp:用户抬起按键时有效;
bool up = Input.GetKeyUp(KeyCode.Space);
• anyKey,anyKeyDown
anyKey用于监听用户的任意按键输入或鼠标点击,事件触发后返回true。anyKeyDown:当任意按键松开时返回true。
示例:
if (Input.anyKey)
{
}
二.鼠标的输入
•GetMouseButton
1. GetMouseButton 对应的键处于按下状态时返回true
2. GetMouseButtonDown 对应的键被按下时返回true
3. GetMouseButtonUp 对应的键弹起时返回true
示例:
if (Input.GetMouseButton(0))
{
//"鼠标左键按下"
}
else if(Input.GetMouseButton(1))
{
//"鼠标右键按下"
}
else if(Input.GetMouseButton(2))
{
// "鼠标中键按下"
}
在例子中可以看出参数为int型,含义为:0左键,1右键,2中键。