Input
输入系统的接口。
使用这个类能够读取输入管理器设置的按键,以及访问移动设备的多点触控或加速感应数据。
想要读取轴向使用Input.GetAxis方法获取下列默认轴: "Horizontal" 和"Vertical" 映射于控制杆、A、W、S、D和箭头键(方向键)。 "Mouse X" 和"Mouse Y" 映射于鼠标,"Fire1", "Fire2" "Fire3"映射于键盘的Ctrl、Alt、Cmd键和鼠标中键或控制器的按钮。新的输入设置可以使用输入管理器来添加。
如果你使用Input制作某种运动行为可以使用Input.GetAxis方法,它能够返回来自键盘、控制器或鼠标平缓并且可以设置的输入结果。使用Input.GetButton方法只用于像事件之类的动作。不要将它用于移动动作。Input.GetAxis方法可以使脚本代码更简洁。
注意:每次输入在"Update()"之前不会再更新,所以建议你将所有的输入调用都写在Update方法中。(Update循环中)
移动设备:
iOS和Android设备能够支持多点触控。你可以通过Input.touches属性集合访问在最近一帧中触摸在屏幕上的每一根手指的状态数据。
当设备移动时,它们的加速感应器硬件将报告它们在三维空间中沿着三个主轴的线性加速变化数据。你可以使用这些数据检测设备当前的移动方向(相对于地面)和突然间的方向改 变。
硬件沿着某感应一轴加速就会立即返回重力值。如果值为1.0代表沿着给定轴的方向+1g的重力加速度,如果值为-1.0代表-1g的重力加速度。如果你保持设备垂直(主页键在下方)在你正前方,那么X轴就是指向你右侧的方向,Y轴指向正上方,Z轴就是你所面向的方向。
你可以读取Input.acceleration属性获得设备的加速度信息。你也可以使用Input.deviceOrientation属性获取设备在三维空间中的方位偏移。检测方位变化在你想要制作游戏行为中会非常有用,当用户转动设备或拿着设备时它是不同的。
注意:速度感应装置在每一帧中能够轮询多次,想访问上一帧的所有速度样本你可以读取Input.accelerationEvents属性集合。这在重组玩家动作中会非常有用。例如将加速数据放入一个预测器中或者实现其他一些精确的动作捕捉。
Class Variables | 类变量 |
---|---|
isGyroAvailable | 返回布尔值,陀螺仪在设备上是否可用 |
gyro | 返回默认的陀螺仪 |
mousePosition | 当前所在像素坐标的鼠标位置(只读) |
anyKey | 是否有某一按键或鼠标按钮此时被按住?(只读) |
anyKeyDown | 在第一帧用户按下某一按键或鼠标按钮,返回true(只读) |
inputString | 返回在这一帧的键盘输入(只读) |
acceleration | 最近一次测量的设备在三维空间中的线性加速度(只读) |
accelerationEvents | 返回上一帧测量的加速值数据列表(只读)(分配临时变量) |
accelerationEventCount | 上一帧所进行的加速度测量次数 |
touches | 返回代表上一帧所有的触摸状态的对象列表(只读)(分配临时变量) |
touchCount | 触摸的数量(只读) |
eatKeyPressOnTextFieldFocus | 该属性表示,如果具有焦点,是否通过文本输入框接收按键(默认为真) |
multiTouchEnabled | 此属性表明此系统是否支持多点触控 |
deviceOrientation | 操作系统所报告的物理设备的方位信息(只读) |
imeCompositionMode | 控制IME输入组合的启用和禁用 |
compositionString | 当前用户正在输入的IME组合字符串 |
compositionCursorPos | 当前文本输入位置,使用于IME来打开窗口 |
Class Functions | 类函数 |
---|---|
GetAxis | 根据坐标轴名称返回虚拟坐标系中的值 |
GetAxisRaw | 通过坐标轴名称返回一个不使用平滑滤波器的虚拟坐标值 |
GetButton | 根据按钮名称返回true当对应的虚拟按钮被按住时 |
GetButtonDown | 在给定名称的虚拟按钮被按下的那一帧返回true |
GetButtonUp | 在用户释放指定名称的虚拟按钮时返回true |
GetKey | 当通过名称指定的按键被用户按住时返回true。想想自动开火 |
GetKeyDown | 当用户按下指定名称的按键时的那一帧返回true |
GetKeyUp | 在用户释放给定名字的按键的那一帧返回true |
GetJoystickNames | 返回一个用来描述已连接的控制杆的字符串集合 |
GetMouseButton | 当指定的鼠标按钮被按下时返回true |
GetMouseButtonDown | 在用户按下指定鼠标按键的那一帧返回true |
GetMouseButtonUp | 在用户释放指定鼠标按键的那一帧返回true |
ResetInputAxes | 在一帧中重置所有的输入,重置输入指令之后所有的方向轴都被设置为0并且所有的按键都被设置为0 |
GetAccelerationEvent | 返回上一帧发生的指定的加速度测量(不允许分配临时变量) |
GetTouch | 返回一个存放触摸信息的对象(不允许分配临时变量) |
Keys
键名:
字母键: “a”, “b”, “c” … 数字键: “1”, “2”, “3”, … 方向键: “up”, “down”, “left”, “right” 数字小键盘: “[1]”, “[2]”, “[3]”, “[+]”, “[equals]” 功能键: “right shift”, “left shift”, “right ctrl”, “left ctrl”, “right alt”, “left alt”, “right cmd”, “left cmd” 鼠标键: “mouse 0”, “mouse 1”, “mouse 2”, … 游戏手柄按键: “joystick button 0”, “joystick button 1”, “joystick button 2”, … 双打游戏手柄按键: “joystick 1 button 0”, “joystick 1 button 1”, “joystick 2 button 0”, … 特殊键: “backspace”, “tab”, “return”, “escape”, “space”, “delete”, “enter”, “insert”, “home”, “end”, “page up”, “page down” 方法键: “f1”, “f2”, “f3”, …