Unity十Input类

  • Post author:
  • Post category:其他


Input类可以获取外部操作,鼠标操作,键盘操作等。



鼠标输入:

1、mousePostion :鼠标在屏幕中的位置,左下角为(0,0)的位置,右上角最大。

Input.mousePosition


2、GetMouseButtonDown 鼠标按下 0为左键,1为右键,2为中间键。返回值 Bool 类型

3、GetMouseButtonUp 鼠标按键抬起。

4、GetMouseButton 鼠标一直按着。

5、GetAxis(“Mouse X”)

返回 float 类型

获取鼠标在水平方向上的移动距离

当鼠标在正半轴移动时,得到正数。

当鼠标在负半轴移动时,得到负数。

6、GetAxis(“Mouse Y”)

获取垂直方向上移动距离,具体介绍同上。



代码

鼠标点击操作

 if (Input.GetMouseButtonDown(0))
        {
            print("鼠标左键");
        }

        if (Input.GetMouseButtonDown(1))
        {
            print("鼠标右键");
        }
        if (Input.GetMouseButtonUp(0))
        {
            print("鼠标左键抬起");
        }
        if (Input.GetMouseButton(1))
        {
            print("右键鼠标长按");
        }

GetAxis(“Mouse X”)、GetAxis(“Mouse Y”),用一个旋转来看他们效果,当鼠标在屏幕上滑动时,查看游戏对象的旋转。

 float x = Input.GetAxis("Mouse X");
        float y = Input.GetAxis("Mouse Y");
        transform.Rotate(x * 10, y * 10, 0);



键盘输入:

1、GetKeyDown(键盘按键) 键盘按键按下操作

2、GetKeyUp(键盘按键) 键盘按键抬起操作

3、GetKey(键盘按键)键盘一直按着

上面的参数

键盘按键

可以为:

a、.字符串”a”

b、KeyCode ,这里面包含所有的键盘按键,可以搜索文档查看 KeyCode 下的键盘。例如 KeyCode.A

4、GetAxis(“Horizontal”)//用于判断按了键盘上左右方向键,返回-1到1的值

GetAxis(“Vertical”)//用于判断按了键盘上的上下键。返回-1到1的值



代码:

键盘按键操作

 if (Input.GetKeyDown("p"))
        {
            print("p");
        }
        if (Input.GetKey(KeyCode.Q))
        {
            print("q");
        }
        if (Input.GetKeyUp("space"))
        {
            print("空格键");
        }

GetAxis(“Horizontal”),GetAxis(“Vertical”)

打印这两个值,发现当按下方向键时,打印的值会从0.几一直增大到1,或者从-0.几减小到-1

   print("水平:"+Input.GetAxis("Horizontal"));
        print("垂直"+Input.GetAxis("Vertical"));

官网给的关于这个的用法。

    public float speed = 10.0F;
    public float rotationSpeed = 100.0F;
    void Update() {
        float translation = Input.GetAxis("Vertical") * speed;
        float rotation = Input.GetAxis("Horizontal") * rotationSpeed;
        translation *= Time.deltaTime;
        rotation *= Time.deltaTime;
        transform.Translate(0, 0, translation);
        transform.Rotate(0, rotation, 0);
    }



版权声明:本文为u014196765原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。