4.4 KiB
#unity/日常积累
Input类用于处理玩家的键盘、鼠标、游戏杆等的输入操作
Input.anyKey 返回值是bool型。 如果按住输入设备的任意键,则会一直返回true,否则一直返回false 例如键盘的任意按键和鼠标的左键、右键、中键等,都包含在其中。 如果只是按下一下之后,马上松开,则按下的瞬间会返回true,松开后会一直返沪false
Input.GetKey(KeyCode 键位) Input.GetKey(string 键位) 返回值是bool型。 如果按住键盘或游戏杆的对应键位,则会返回true,一旦处于松开状态,则会返回false
Input.GetKeyDown(KeyCode 键位) Input.GetKeyDown(string 键位) 返回值是bool型。 如果按下键盘或游戏杆的对应键位,则这一瞬间会返回true,但如果按住这个键,又或者这个键处于松开状态,则会返回false
Input.GetKeyUp(KeyCode 键位) Input.GetKeyUp(string 键位) 返回值是bool型。 如果键盘或游戏杆的对应键位从按下状态变为松开状态的一瞬间,会返回true,其余情况一律返回false
KeyCode型枚举和string型的按键名可以参考对应的笔记。
鼠标键位: Mouse0 鼠标左键 Mouse1 鼠标右键 Mouse2 鼠标中键 Mouse3 鼠标第3个按键 Mouse4 鼠标第4个按键 Mouse5 鼠标第5个按键 Mouse6 鼠标第6个按键
(键位可以在Edit——Project Settings中查看)
Input.GetMouseButton(int 鼠标按键) 返回值是bool型。 如果按住鼠标的指定键,则会返回true,一旦处于松开状态,则会返回false
Input.GetMouseButtonDown(int 鼠标按键) 返回值是bool型。 如果按下鼠标的指定键,则这一瞬间会返回true,但如果按住这个键,又或者这个键处于松开状态,则会返回false
Input.GetMouseButtonUp(int 鼠标按键) 返回值是bool型。 如果鼠标的指定键在一瞬间从按下状态变成松开状态,则会返回true,否则返回false
int型的鼠标按键: 0表示鼠标左键 1表示鼠标右键 2表示鼠标中键
Input.GetButtonDown(string 轴名) 返回bool型。 如果按下指定的按键,则这一瞬间会返回true,但如果按住这个键,又或者这个键处于松开状态,则会返回false
Input.GetButtonUp(string 轴名) 返回bool型。 如果指定的按键从按下状态变为松开状态的一瞬间,会返回true,其余情况一律返回false
Input.GetButton(string 轴名) 返回bool型。 如果按住指定的按键,则会返回true,一旦处于松开状态,则会返回false
Input.GetButtonXXX方法与以下的Input.GetAxisXXX方法的参数中的轴名,都可以在Edit——Project Settings——Input Manager中设置。Name代表轴名,Positive Button、Alt Positive Button分别代表两个正键,Negative Button、Alt Negative Button分别代表两个反键,Sensitivity代表敏感度。
Input.GetButtonXXX方法与以下的Input.GetAxisXXX方法的区别在于返回值类型的不同,Input.GetButtonXXX返回bool型,表示是否按下了指定按键,而Input.GetAxisXXX方法返回float型,表示指定按键的按下程度。
Input.GetAxis(string 轴名) 返回float型。轴名默认情况一般用Horizontal或Vertical。以Horizontal为例 当按下水平负方向的键,则返回[-1,0)之间的一个值,一直按住这个键,则值会越来越小,最后到达-1为止。 当按下水平正方向的键,则返回(0,1]之间的一个值,一直按住这个键,则值会越来越大,最后到达1为止。 松开按住的键,则返回值会越来越趋向0,最后等于0 这个方法可以用来模拟先加速后减速的情况
Input.GetAxisRaw(string 轴名) 返回float型。轴名默认情况一般用Horizontal或Vertical。以Horizontal为例 当按下水平负方向的键,则返回-1,一直按住这个键,就会一直返回-1 当按下水平正方向的键,则返回1,一直按住这个键,就会一直返回1 松开按住的键,则会一直返回0
Input.mousePosition 屏幕左下角坐标为 (0,0,0)。 屏幕或窗口的右上角坐标为 (Screen.width,Screen.height,0)。鼠标光标隐不隐藏不会影响这个参数的值。如果位置值小于0或大于屏幕尺寸 (Screen.width,Screen.height,0),则说明鼠标光标位于游戏窗口以外。 Input.mousePosition.x表示Input.mousePosition的x分量 Input.mousePosition.y表示Input.mousePosition的y分量 Input.mousePosition.z表示Input.mousePosition的z分量