分类:Unity、C#、VS2015 程序员
建立日期:2016-04-21 编辑器
在Input类中,Key与物理按键对应,例如键盘、鼠标、摇杆上的按键,其映射关系没法改变,程序员能够经过按键名称或者按键编码KeyCode来得到其输入状态。例如,CetKeyDown(KeyCode.A)会在按A键时返回true。 函数
下面是Input类的成员变量: 工具
下面是Input类的成员函数:编码
输入轴(Axis)用来模拟平滑变化的输入,如摇杆的变化、方向盘的转动等,须要在输入管理器中配置。 spa
输入轴包含正负两个虚拟按键(Positive Button和Negative Button) 。 能够把一个输入轴想象成一个滑动条,左边取值为-1,右边取值为1。当按下正按键时,滑块向右边的正向移动;当按下负按键时,滑块向左边的负向移动。滑块的位置对应输入轴的当前取值。 3d
Button是输入管理器(Input Manager)中定义的虚拟按键,经过名称来访问。开发者能够根据须要建立和命名虚拟按键,并设置与物理按键(及其组合)的消息映射。例如,Unity默认为用户建立了名为【Fire1】的虚拟按键,并将鼠标左键和左【Ctrl】键的消息映射给Fire1。 blog
打开菜单栏中的Edit-> Proect->Settings->Input项可打开输入管理器。 游戏
使用虚拟按键的好处就是能够灵活地配置输入,而且在游戏发布后可让玩家自定义键位输入。所以,在开发中推荐使用虚拟按键。 ip
可在此界面中添加新的输入轴,另外也可在这里更改每一个轴的设置。每一个轴能够对应操纵杆、鼠标的两个按钮或两个键盘按键。
下面解释上图界面中各参数的含义。
名称 (Name)
用来在脚本中检查该轴的字符串名称。
描述名称 (Descriptive Name)
配置 (Configuration) 对话框输入选项卡中显示的正名称,用于独立构建。
描述负名称 (Descriptive Negative Name)
配置 (Configuration) 对话框输入选项卡中显示的负名称,用于独立构建。
负按钮 (Negative Button)
用于在负方向移动轴。
正按钮 (Positive Button)
用于在正方向移动轴。
备选负按钮 (Negative Button)
用来在负方向移动轴的备选按钮。
备选正按钮 (Alt Positive Button)
用来在正方向移动轴的备选按钮。
重力 (Gravity)
在没有按任何按钮时,轴降低到 0 的每秒单位速度。
死亡 (Dead)
模拟死区的大小。全部在这个范围内的模拟设备值将映射为 0。
灵敏度 (Sensitivity)
轴向目标值移动的每秒单位速度。该功能仅用于数码设备。
捕捉 (Snap)
若是启用,按下相反方向的按钮时,轴值将自动归零。
反向 (Invert)
若是启用,按下负按钮 (Negative Button) 将提供正值,反之亦然。
类型 (Type)
控制此轴的输入类型。
轴 (Axis)
链接设备的轴将控制这个轴。
操纵杆 (Joy Num)
链接操纵杆将控制这个轴。
这些设置可用来微调输入的外观和感受。他们在编辑器均带有工具提示。
下面的的脚本能够查询当前状态:
value = Input.GetAxis ("Horizontal");
轴值在 -1 到 1 之间。中间位置为 0。 这是在操纵杆输入和键盘输入的状况下。
可是,鼠标增量和 Window Shake 增量是指鼠标或视窗在最后一帧移动的距离。这意味着,当用户快速移动鼠标时,它可能大于 1 或小于 -1。
您能够建立多个名称相同的轴。在得到输入轴时,绝对值最大的轴将被返回。这使得为一种以上输入设备指定同一个轴名称成为可能。例如,为键盘输入建立一个轴,而且为操纵杆建立另外一个名称相同的轴。若是用户使用操纵杆,输入未来自操纵杆,不然,输入未来自键盘。有了这种方法,编写脚本时就不须要再考虑输入的来源了。
要映射一个键到一个轴,您必须在检视器中的正按钮 (Positive Button) 或负按钮 (Negative Button) 属性中输入按键名称。
按键名称遵循如下惯例:
标准键: "a"、"b"、"c"、...
数字键:"1"、"2"、"3"、 ...
方向键:“上 (up)”、“下 (down)”、“左 (left)”、“右 (right)”
小键盘键:"[1]"、"[2]"、"[3]"、"[+]"、"[=]"
修改键:"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"、...
在脚本界面和检视器中,用来识别按键的名称是同样的:
value = Input.GetKey ("a");