在 Unity 中获取鼠标和键盘输入的原理基于底层操作系统的输入系统以及 Unity 对其进行的封装和抽象,下面分别介绍获取鼠标和键盘输入的原理及相关机制。
获取鼠标输入的原理
底层操作系统输入系统
操作系统负责管理硬件设备,包括鼠标。鼠标的移动、点击等操作会被操作系统捕获,并转化为相应的输入事件。例如,当用户移动鼠标时,鼠标的位移信息会被操作系统记录;当用户点击鼠标按钮时,操作系统会检测到按钮的按下和释放状态,并生成对应的事件。
Unity 的封装和抽象
Unity 对操作系统的鼠标输入进行了封装,提供了 Input 类来方便开发者获取鼠标相关信息。Input 类会在每一帧从操作系统获取最新的鼠标输入数据,并将其暴露给开发者使用。
获取鼠标的代码如下:
//获取鼠标屏幕的的滑动跟移动的函数
float aa = Input.GetAxis("Mouse ScrollWheel") * 1f;//鼠标滚轮
float bb = Input.GetAxis("Mouse X");//鼠标的左右移动
float cc = Input.GetAxis("Mouse Y");//鼠标的上下移动
if (aa !=0)
{
Debug.Log(aa);
}
else if (bb !=0)
{
Debug.Log(bb );
}
else if (cc !=0)
{
Debug.Log(cc);
}
unity获取键盘的操作代码如下:
//获取键盘的输入 (直上直下) 0-- -1的输入
float moveh = Input.GetAxis("Horizontal");
float movev = Input.GetAxis("Vertical");
transform.Translate(new Vector3(moveh, 0, movev) * Time.deltaTime * speed);