unity 获取鼠标跟键盘

简介: 在 Unity 中,鼠标和键盘输入的获取依赖于底层操作系统的输入系统。操作系统捕获硬件事件(如鼠标的移动、点击及键盘按键),并将其转化为输入事件。Unity 通过 Input 类封装这些事件,使开发者能便捷地访问鼠标和键盘数据。例如,`Input.GetAxis` 方法用于获取鼠标滚轮、X/Y 轴移动及键盘方向键的输入,简化了开发流程。代码示例展示了如何使用 `Input.GetAxis` 获取鼠标滚轮、左右和上下移动,以及键盘的方向键输入,并根据这些输入进行相应的处理和物体移动。

在 Unity 中获取鼠标和键盘输入的原理基于底层操作系统的输入系统以及 Unity 对其进行的封装和抽象,下面分别介绍获取鼠标和键盘输入的原理及相关机制。
获取鼠标输入的原理
底层操作系统输入系统
操作系统负责管理硬件设备,包括鼠标。鼠标的移动、点击等操作会被操作系统捕获,并转化为相应的输入事件。例如,当用户移动鼠标时,鼠标的位移信息会被操作系统记录;当用户点击鼠标按钮时,操作系统会检测到按钮的按下和释放状态,并生成对应的事件。
Unity 的封装和抽象
Unity 对操作系统的鼠标输入进行了封装,提供了 Input 类来方便开发者获取鼠标相关信息。Input 类会在每一帧从操作系统获取最新的鼠标输入数据,并将其暴露给开发者使用。
image.png

获取鼠标的代码如下:

//获取鼠标屏幕的的滑动跟移动的函数
        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);​
相关文章
|
1月前
|
图形学
unity判断鼠标在不在UI上
在 Unity 中,判断鼠标是否在 UI 上主要依赖事件系统和射线检测机制。Unity 的事件系统负责处理输入事件,GraphicRaycaster 组件用于检测射线与 UI 元素的相交情况。通过 `EventSystem.current.IsPointerOverGameObject()` 方法可轻松判断鼠标是否在 UI 上。对于移动端,使用 `EventSystem.current.IsPointerOverGameObject(Input.GetTouch(0).fingerId)` 来判断触摸是否在 UI 上。代码实现简单且高效。
|
1月前
|
图形学
Unity UGUI实现鼠标拖动图片
在 Unity UGUI 中实现鼠标拖动图片功能,主要涉及事件检测、坐标转换和物体位置更新。根据鼠标移动量更新图片位置。代码示例展示了如何通过这些步骤实现拖动效果。
|
7月前
|
图形学
小功能⭐️Unity Button按钮实现鼠标移入移出触发相应事件
小功能⭐️Unity Button按钮实现鼠标移入移出触发相应事件
|
7月前
|
图形学
小功能⭐️不用传参,Unity获得鼠标悬浮处的物体、UI!
小功能⭐️不用传参,Unity获得鼠标悬浮处的物体、UI!
|
图形学
unity判断鼠标在不在UI上
unity判断鼠标在不在UI上
物体交互操作之鼠标拖动物体任意移动(Unity3D)
物体交互操作非常的多,比如说用鼠标拖动物体移动,用鼠标拖动物体旋转,用鼠标滑动让物体放大和缩小。 下面就用代码演示一下如何使用鼠标拖动物体移动。
鼠标控制物体旋转、移动、缩放(Unity3D)
Unity3D对于鼠标操作物体的旋转、移动、缩放的功能点使用的比较多。 今天就分享如何使用Unity实现鼠标对于物体的旋转、移动、缩放。
UGUI系列-鼠标移动到按钮上显示信息(Unity3D)
有时候图标不能很好的说明这个功能的解释,就需要一些说明性文字显示。就比如可以在鼠标移动到UI上面的时候显示文字。 那么如何在UGUI上,鼠标移动上去显示文字说明呢。 大家都知道,当鼠标移动到button按钮上面的时候会出现变化,主要是button这个组件在控制
|
vr&ar 图形学
【Unity3D 灵巧小知识点】☀️ | Unity通过 射线 获取 鼠标的世界坐标 和 鼠标点击的物体信息
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
【Unity3D 灵巧小知识点】☀️ | Unity通过 射线 获取 鼠标的世界坐标 和 鼠标点击的物体信息