Input的用法
Input
Input是Unity中单独的一个类,可以处理键盘的敲击以及鼠标的点击事件
举栗子
(1)获取鼠标的点击
例子:
void Update () {
if (Input.GetButton ("Fire3")) {
print("click");
print(Input.mousePosition);
}
if (Input.GetButtonDown ("Fire3")) {
print("down");
}
if (Input.GetButtonUp ("Fire3")) {
print("up");
}
}
其中Fire1表示左键,Fire2表示右键,Fire3表示鼠标滚轮;
Input.mousePosition是一个三维的坐标,用于获取当前鼠标的像素坐标;
(2)用于监听键盘上的按键的状态
if (Input.GetKey (KeyCode.A)) {
print("A pressed");
}
if (Input.GetKeyDown (KeyCode.A)) {
print("A down");
}
if (Input.GetKeyUp (KeyCode.A)) {
print ("A up");
}
其中GetKey是指定按钮时返回true,GetkeyDown是指定按钮的一帧时返回true,GetKeyUp是按下指定按钮然后抬起的一帧时返回true;
(3)
if (Input.GetMouseButton (0)) {
print("0");
}
if (Input.GetMouseButton (1)) {
print("1");
}
GetMouseButton是指定鼠标按键按下时返回true,GetMouseButtonDown是指定按钮的一帧时返回true,GetMouseButtonUp是按下指定按钮然后抬起的一帧时返回true;
(4)anyKey变量:用来监听当前是否有按键按下,不管什么按键都会触发,若按住键不放则一直触发;
anyKeyDown:监听当前是否有按键按下,若按键不放只会在按住的时候触发一次,之后不会在触发,直到松开再次按下便能触发;
if (Input.anyKey) {
print(“any”);
}
(5)inputString:返回键盘在这一帧中输入的字符串,在返回的字符串中只包含有ASCII的字符串
public string str;
if (Input.inputString != “”) {
//str += Input.inputString;
print(Input.inputString);
}
(6)GetAxis方法和GetAxisRaw方法
两者都是获取虚拟轴的方法
print(Input.GetAxis("Horizontal”));//范围是 -1~1
print (Input.GetAxis ("Vertical”));//范围是 -1~1
如果GetAxis换成GetAxisRaw,则只有-1、0、1;