科技类网站简介怎么做,做外贸如何浏览国外网站,湖南建设厅网站首页,网站建设内容方向Unity的Input类提供了许多监听用户输入的方法#xff0c;比如我们常见的鼠标#xff0c;键盘#xff0c;手柄等。我们可以用Input类的接口来获取用户的输入信息
一、监听鼠标输入
GetMouseButtonUp 、GetMouseButtonDown、GetMouseButton
input.GetMouseButtonDown和 inp…Unity的Input类提供了许多监听用户输入的方法比如我们常见的鼠标键盘手柄等。我们可以用Input类的接口来获取用户的输入信息
一、监听鼠标输入
GetMouseButtonUp 、GetMouseButtonDown、GetMouseButton
input.GetMouseButtonDown和 input.GetMouseButtonUp 能够分别监听鼠标的按下和松开事件GetMouseButton长按响应值得注意的是这三个方法需要传入参数0表示左键1表示右键2表示中间键 比如我们可以在代码中这样写来监听游戏中的鼠标点击 void Update(){/*鼠标输入*/if (Input.GetMouseButtonDown(0)){Debug.Log(你按下了鼠标左键);}if (Input.GetMouseButton(0)){Debug.Log(你压着鼠标左键不放);}if (Input.GetMouseButtonUp(0)){Debug.Log(你松开了鼠标左键);}if (Input.GetMouseButtonDown(1)){Debug.Log(你按下了鼠标右键);}if (Input.GetMouseButton(1)){Debug.Log(你压着鼠标右键不放);}if (Input.GetMouseButtonUp(1)){Debug.Log(你松开了鼠标右键);}if (Input.GetMouseButtonDown(2)){Debug.Log(你按下了鼠标中键);}if (Input.GetMouseButton(2)){Debug.Log(你压着鼠标中键不放);}if (Input.GetMouseButtonUp(2)){Debug.Log(你松开了鼠标中键);}}mousePosition屏幕坐标
如果想获取当前屏幕的坐标可以用Input.mousePosition来访问它是一个vector3类型的变量 比如这样我们就可以在鼠标点击时获取当前点击的屏幕位置 void Update(){if (Input.GetMouseButtonDown(0)){Debug.Log(正在执行鼠标左键点击);Vector3 MousePos Input.mousePosition;Debug.Log(当前坐标 MousePos);}}二、监听键盘输入
GetKeyUpGetKeyDownGetKey
和鼠标一样键盘也可以获取它的按下长按和抬起状态。分别需要调用Input.GetKeyDownInput.GetKey 和 Input.GetKeyUp 来实现 同时它需要传入参数KeyCode下面是常见的KeyCode值 KeyCode.AA 键。 KeyCode.WW 键。 KeyCode.SS 键。 KeyCode.DD 键。 KeyCode.Space空格键。 KeyCode.Return回车键。 KeyCode.EscapeEsc 键。 KeyCode.LeftShift左 Shift 键。 KeyCode.RightShift右 Shift 键。 KeyCode.LeftAlt左 Alt 键。 KeyCode.RightAlt右 Alt 键。 KeyCode.TabTab 键。
代码示例 void Update(){/*键盘输入*/if (Input.GetKey(KeyCode.Space)){Debug.Log(你压着空格不放);}if (Input.GetKeyDown(KeyCode.Space)){Debug.Log(你按下了空格);}if (Input.GetKeyUp(KeyCode.Space)){Debug.Log(你松开了空格);}if (Input.GetKey(KeyCode.A)){Debug.Log(你压着A不放);}if (Input.GetKeyDown(KeyCode.A)){Debug.Log(你按下了A);}if (Input.GetKeyUp(KeyCode.A)){Debug.Log(你松开了A);}}我们学会了transform.translate方法也学会了响应键盘的按键事件那我们就可以写出一个用WSAD键控制物体前后左右移动的方法了 void Update(){float DisPreSec 6f;if (Input.GetKey(KeyCode.W)){this.transform.Translate(0, 0, DisPreSec * Time.deltaTime);}if (Input.GetKey(KeyCode.S)){this.transform.Translate(0, 0, -DisPreSec * Time.deltaTime);}if (Input.GetKey(KeyCode.A)){this.transform.Translate(DisPreSec * Time.deltaTime, 0, 0);}if (Input.GetKey(KeyCode.D)){this.transform.Translate(-DisPreSec * Time.deltaTime, 0, 0);}}