注意:输入相关内容是写在Update中的。
目录
1.鼠标在屏幕位置
屏幕坐标的原点是在屏幕的左下角,往右是X轴方向,往上是Y轴方向。
返回值是Vector3,但是只有x和y有值,z一直是0,是因为屏幕本来就是2D的,不存在z轴。
print(Input.mousePosition);
2.检测鼠标输入
鼠标按下一瞬间进入:0左键 1右键 2中键
只要按下一瞬间进入一次
if(Input.GetMouseButtonDown(0))
{
print("鼠标左键按下了");
}
鼠标按下相关检测,对于我们来说,比如:
1.可以做子弹发射装置
2.可以控制摄像机转动
鼠标抬起一瞬间进入(比如做一些卡牌游戏)
if(Input.GetMouseButtonUp(0))
{
print("鼠标左键抬起了");
}
鼠标长按按下和抬起都会进入,按住键不放时就会一直进入。
if(Input.GetMouseButton(1))
{
print("鼠标右键按下");
}
中键滚动
返回值y -1往下滚 0没有滚 1往上滚
它的返回值是Vector3的值,我们鼠标中键滚动,会改变其中的y值
print(Input.mouseScrollDelta);
3.检测键盘输入
键盘按下
if(Input.GetKeyDown(KeyCode.W))
{
print("W键按下");
}
传入字符串的重载
这里传入的字符串不能是大写的,不然会报错。
只能传入小写的字符串
比如说按一个键释放一个技能或者切换武器等操作时使用。
if(Input.GetKeyDown("space"))
{
print("空格键按下");
}
键盘抬起
if(Input.GetKeyUp(KeyCode.W))
{
print("W键抬起");
}
键盘长按
if(Input.GetKey(KeyCode.W))
{
print("W键长按");
}
4.检测默认轴输入
键盘AD按下时,返回-1到1之间的变换,我们可以通过它来控制对象左右移动或者左右旋转。
print(Input.GetAxis("Horizontal"));
键盘SW按下时,返回-1到1之间的变换,得到这个值,就是我们的上下方向,我们可以通过它来控制对象上下移动或者上下旋转。
print(Input.GetAxis("Vertical"));
鼠标横向移动-1到1左 右
print(Input.GetAxis("Mouse X"));
//鼠标竖向移动-1到1上下移动
print(Input.GetAxis("Mouse Y"));
GetAxisRaw方法和GetAxis使用方法相同,只不过它的返回值没有中间值,是三个固定值-1, 0 , 1