Unity Input类学习

tech2022-12-11  113

Input基本输入事件

从键盘上获取 // KeyCode.A A为键盘按键A 类型为KeyCodeKey Input.GetKey(KeyCode.A) {} Input.GetKeyDown(KeyCode.A) {} Input.GetKeyUp(Keycode.A) {} 从鼠标上获取 //获取鼠标位置 Input.mousePosition //按下鼠标按键 类型为intbutton //button表示鼠标上的按键 //0:表示鼠标左键 //1:表示鼠标右键 //2:表示鼠标中键 //3:表示鼠标上键 //4:表示鼠标下键 Input.GetMouseButton(intButton)

GetMouseButton() 方法返回的是 Boolean 值。 3. 轴输入

//获取轴 //axisName-轴向 //Horizon:表示水平方向 //Vertical:表示竖直方向 //两者的值区间[-1,1],按键未被按下时其值为零。 Input.GetAxis(stringaxisName)

*GetAxis(stringaxisName)*返回的是 float值。

在 Unity 编写 PlayerControl 脚本控制角色移动.

using System.Collections; using System.Collections.Generic; using UnityEditor.Experimental.UIElements; using UnityEngine; public class PlayerPrac : MonoBehaviour { private Rigidbody2D rig2D; private float moveSpeed = .1f; //设置移动速度 private Vector2 playerMove = new Vector2(); void Start() { rig2D = gameObject.GetComponent<Rigidbody2D>(); //获得 Rigid2D 组件 } void Update() { //帧更新函数 if(Input.GetKey(KeyCode.A)) { float h = Input.GetAxis("Horizontal"); transform.position -= new Vector3(-h * moveSpeed, 0); ; } if(Input.GetKey(KeyCode.D)) { float h = Input.GetAxis("Horizontal"); transform.position += new Vector3(h * moveSpeed, 0); ; } } }

最新回复(0)