Unity学习日志_信息输入管理简介

Unity学习日志_信息输入管理简介

Input类:

鼠标输入:

在桌面系统的游戏中,鼠标输入是最基本的输入方式之一。游戏中的许多操作都需要鼠标操作来完成。

Input类中关于鼠标输入的静态变量:
mousePosition鼠标当前的像素坐标位置(屏幕坐标系)。(只读)
mousePresent指示是否检测到鼠标设备。
mouseScrollDelta当前的鼠标滚动增量。(只读)
Input类中关于鼠标输入的静态方法:
GetAxis返回由 axisName 标识的虚拟轴的值。
GetAxisRaw返回由 axisName 标识的虚拟轴的值(未应用平滑过滤)。
GetMouseButton返回是否按下了给定的鼠标按钮。
GetMouseButtonDown在用户按下给定鼠标按钮的帧期间返回 true。
GetMouseButtonUp在用户释放给定鼠标按钮的帧期间返回 true。

键盘输入:

键盘事件也是桌面系统中的基本输入事件。

Input类中关于键盘输入的静态变量:

何为IME输入?

简单来说就是输入法,某些语言使用复杂的输入方法 - 需要打开窗口来插入字符(比如中文)。 通常,这在玩游戏时无法使用,因为游戏可能只将击键解释为游戏输入,而不是文本。 默认情况下,Unity 将在文本字段中启用 IME 合成, 其他情况则禁用 IME 合成。

imeCompositionMode控制 IME 输入组合的启用和禁用。
imeIsSelected用户是否选择了 IME 键盘输入源?
inputString返回该帧输入的键盘输入。(只读)
Input类中关于键盘输入的静态方法:
GetKey在用户按下 name 标识的键时返回 true。
GetKeyDown在用户开始按下 name 标识的键的帧期间返回 true。
GetKeyUp在用户释放 name 标识的键的帧期间返回 true。
GetAxis返回由 axisName 标识的虚拟轴的值。
GetAxisRaw返回由 axisName 标识的虚拟轴的值(未应用平滑过滤)。
KeyCode示例:

字母键A:KeyCode.A;

数字键0:KeyCode.Alpha0;

功能键F1:KeyCode.F1;

退格键:KeyCode.Backspace;

回车键:KeyCode.Return;

空格键:KeyCode.Space;

退出键:KeyCode.Esc;

Tab键:KeyCode.Tab;

上箭头方向键:KeyCode.UpArrow;

左Shift键:KeyCode.LeftShift;

左Alt键:KeyCode.LeftAlt;

左Ctrl键:KeyCode.LeftCtrl;

外设输入:

Unity还可以处理摇杆,游戏手柄,方向盘等标准游戏外设的输入。

Input类中关于外设输入的静态方法:
GetAxis返回由 axisName 标识的虚拟轴的值。
GetAxisRaw返回由 axisName 标识的虚拟轴的值(未应用平滑过滤)。
GetButton当按住 buttonName 标识的虚拟按钮时,返回 true。
GetButtonDown在用户按下由 buttonName 标识的虚拟按钮的帧期间返回 true。
GetButtonUp在用户释放由 buttonName 标识的虚拟按钮的第一帧返回 true。
GetJoystickNames返回描述连接的游戏杆的字符串数组。

虚拟按键需要在Input Manager中配置,将外设的输入信息映射给虚拟按键或者输入轴后就可以在脚本中使用了。

移动设备输入:

在IOS或者Android系统中,操作都是通过触摸来完成的。input类提供了对触摸操作的方法和变量。

Input类中关于移动设备输入的静态变量:
multiTouchEnabled该属性指示系统是否处理多点触控。
simulateMouseWithTouches启用/禁用通过触摸模拟鼠标操作。默认情况下,该选项已启用。
stylusTouchSupported当设备或平台支持 Stylus Touch 时,返回 true。
touchCount触摸次数。保证在整个帧期间不会更改。(只读)
touches返回表示上一帧中所有触摸状态的对象列表。(只读)(分配临时变量)。
touchPressureSupported供用户检查是否支持触摸压力的 bool 值。
touchSupported返回当前正在运行应用程序的设备是否支持触摸输入。
Input类中关于移动设备输入的静态方法:
GetTouch调用 Input.GetTouch 以获取 Touch 结构。
Touch类:
变量:
altitudeAngle0 弧度值指示触笔平行于表面,pi/2 指示垂直。
azimuthAngle0 弧度值指示触笔指向沿着设备 X 轴方向。
deltaPosition自上次更改以来的位置增量。
deltaTime自记录的 Touch 值上次更改以来经过的时间。
fingerId触摸的唯一索引。
maximumPossiblePressure平台的最大可能压力值。如果 Input.touchPressureSupported 返回 false,此属性的值将始终为 1.0f。
phase描述触摸阶段。
position触摸的位置(像素坐标)。
pressure当前应用于触摸的压力大小。1.0f 被视为平均触摸压力。如果 Input.touchPressureSupported 返回 false,此属性的值将始终为 1.0f。
radius触摸半径的估计值。加上 radiusVariance 可获得最大触摸大小,减去它可获得最小触摸大小。
radiusVariance此值确定触摸半径的精度。半径加上此值可获得最大触摸大小,减去它可获得最小触摸大小。
rawPosition用于触摸的原始位置。
tapCount点击次数。
type用于指示触摸是 Direct、Indirect(或远程)还是 Stylus 类型的值。
TouchPhase状态:
Began手指触摸了屏幕。
Moved手指在屏幕上进行了移动。
Stationary手指正在触摸屏幕但尚未移动。
Ended从屏幕上抬起了手指。这是最后一个触摸阶段。
Canceled系统取消了对触摸的跟踪。

自定义输入:

InputManager:

在这里插入图片描述

在这里插入图片描述

  1. Name:输入轴名字,用于游戏启动时的配置页面显示和脚本访问。
  2. Descriptive Name:轴正按键的描述,在游戏启动页面显示。
  3. Descriptive Negative Name:轴负按键的描述,用于游戏启动页面的显示。
  4. Negative Button:轴负按键对应的物理按键。
  5. Positive Button:轴正按键对应的物理按键。
  6. Alt Negative Button:备选负按键。
  7. Alt Positive Button:备选正按键。
  8. Gravity:输入的复位速度,仅用于键鼠按键。
  9. Dead:小于该值的任何值都被视为0,用于摇杆。
  10. Sensitivity:灵敏度。
  11. Snap:勾选该值时,当轴收到负按键的输入信号时,轴的数值会被立刻设置为0。仅用于键鼠输入。
  12. Invert:值反转。
  13. Type:输入轴类型。
  14. Axis:要映射的设备输入轴。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值