【Unity3D】鼠标键盘输入

在Unity中,接收鼠标和键盘输入的方法由Input类提供


1、鼠标输入

  • GetMouseButton

       public static bool GetMouseButton(int button);

         作用:当鼠标按钮处于按下状态时持续返回true,参数button是一个整型,‘0’代表左键,‘1’代表右键,‘2’代表中键

         示例:

if (Input.GetMouseButton(0))
            Debug.Log("按下左键");
        
if (Input.GetMouseButton(1))
            Debug.Log("按下右键");
        
if (Input.GetMouseButton(2))
            Debug.Log("按下中键");


  • GetMouseButtonUp

       public static bool GetMouseButtonUp(int button);

         作用:当释放鼠标按钮时返回true(换句话说,当你按下鼠标按钮时不会有任何反应,只有松开时才会起作用)

         示例:

if (Input.GetMouseButtonUp(0))
            Debug.Log("释放左键");
        
if (Input.GetMouseButtonUp(1))
            Debug.Log("释放右键");
        
if (Input.GetMouseButtonUp(2))
            Debug.Log("释放中键");


  • GetMouseButtonDown

       public static bool GetMouseButtonDown(int button);

         作用:当按下鼠标的一瞬间返回true

         示例:

if (Input.GetMouseButtonDown(0))
            Debug.Log("按下左键");
        
if (Input.GetMouseButtonDown(1))
            Debug.Log("按下右键");
        
if (Input.GetMouseButtonDown(2))
            Debug.Log("按下中键");


上面是Unity中鼠标输入的三种方法:GetMouseButton、GetMouseButtonUp和GetMouseButtonDown

值得一提的是,GetMouseButton和GetMouseButtonDown虽然都是按下的时候返回true,但它们之间是有明显区别的

前者只要鼠标按钮处于按下状态(按住鼠标不放)就会一直返回true,而后者是按一下鼠标返回一次



2、键盘输入

  • GetKey

       public static bool GetKey(string name);

         作用:当由name指定的键处于按下状态时返回true,参数name是一个字符串类型,A~Z或0~9等键盘上的key name

         示例:

if (Input.GetKey("space"))
            print("按下空格键");



  • GetKeyUp

       public static bool GetKeyUp(string name);

         作用:当释放由name指定的键时返回true

         示例:

if (Input.GetKeyUp("space"))
            print("释放空格键");



  • GetKeyDown

       public static bool GetKeyDown(string name);

         作用:当按下由name指定的键时返回true

         示例:

if (Input.GetKeyDown("space"))
            print("按下空格键");



以上就是Unity接收键盘输入的方法

另外,参数除了字符串类型,还有另一种类型:键值

public static bool GetKeyDown(KeyCode key);

示例:

if (Input.GetKeyDown(KeyCode.Space))
            print("按下空格键");


补充一点,方法分为静态方法和实例方法,如果一个方法声明中含有static修饰符,称为静态方法,否则称为实例方法

显然,上述所有方法都属于静态方法,关于两者的区别陈述如下:

    静态方法属于类,实例方法属于对象,静态方法使用类来引用,实例方法使用对象来引用







猜你喜欢

转载自blog.csdn.net/Dawson_Ho/article/details/79616506