在Unity中,接收鼠标和键盘输入的方法由Input类提供
1、鼠标输入
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("按下中键");
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("释放中键");
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、键盘输入
public static bool GetKey(string name);
作用:当由name指定的键处于按下状态时返回true,参数name是一个字符串类型,A~Z或0~9等键盘上的key name
示例:
if (Input.GetKey("space"))
print("按下空格键");
public static bool GetKeyUp(string name);
作用:当释放由name指定的键时返回true
示例:
if (Input.GetKeyUp("space"))
print("释放空格键");
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修饰符,称为静态方法,否则称为实例方法
显然,上述所有方法都属于静态方法,关于两者的区别陈述如下:
静态方法属于类,实例方法属于对象,静态方法使用类来引用,实例方法使用对象来引用