【Unity】7.1 Input类的方法和变量
分类:Unity、C#、VS2015
创建日期:2016-04-21
一、简介
在Input类中,Key与物理按键对应,例如键盘、鼠标、摇杆上的按键,其映射关系无法改变,程序员可以通过按键名称或者按键编码KeyCode来获得其输入状态。例如,CetKeyDown(KeyCode.A)会在按A键时返回true。
下面是Input类的成员变量:

下面是Input类的成员函数:

二、输入轴(Axis)和输入管理器(Input Manager)
输入轴(Axis)用来模拟平滑变化的输入,如摇杆的变化、方向盘的转动等,需要在输入管理器中配置。
输入轴包含正负两个虚拟按键(Positive Button和Negative Button) 。 可以把一个输入轴想象成一个滑动条,左边取值为-1,右边取值为1。当按下正按键时,滑块向右边的正向移动;当按下负按键时,滑块向左边的负向移动。滑块的位置对应输入轴的当前取值。
Button是输入管理器(Input Manager)中定义的虚拟按键,通过名称来访问。开发者可以根据需要创建和命名虚拟按键,并设置与物理按键(及其组合)的消息映射。例如,Unity默认为用户创建了名为【Fire1】的虚拟按键,并将鼠标左键和左【Ctrl】键的消息映射给Fire1。
打开菜单栏中的Edit-> Proect->Settings->Input项可打开输入管理器。
使用虚拟按键的好处就是可以灵活地配置输入,并且在游戏发布后可以让玩家自定义键位输入。因此,在开发中推荐使用虚拟按键。
可在此界面中添加新的输入轴,另外也可在这里更改每个轴的设置。每个轴可以对应操纵杆、鼠标的两个按钮或两个键盘按键。
下面解释上图界面中各参数的含义。
名称 (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");
【Unity】7.1 Input类的方法和变量的更多相关文章
- Java基础之对包,类,方法,变量理解(灵感)
包,类,方法,变量 灵感乍现 感觉就如电脑上的各个大小文档一般,只不过名称不同,用法不同,功效不同,就好比你要调用网上的一个图片,这个图片可以是变量,可以是方法,可以是类.你要调用可以把他幻化成接口, ...
- eclipse中查找类、方法及变量被引用的地方
1.选中要查看的类.方法或变量,然后Ctrl+Shift+G或右键-->References--->Project,就可以找到它所有被引用的地方. 2.对于方法,还可以通过右键--> ...
- python基础练习题(题目 作用域、类的方法与变量)
day29 --------------------------------------------------------------- 实例043:作用域.类的方法与变量 题目 模仿静态变量(st ...
- eclipse快捷键 (包括查找类、方法、变量)
♦[Ct rl+T] 搜索当前接口的实现类 1. [ALT +/] 智能提示 此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类.方法和属性的名字时 ...
- 每日扫盲:eclipse快捷键 包括查找类、方法、变量汇总
[Ct rl+T] 搜索当前接口的实现类 1. [ALT +/] 此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类.方法和属性的名字时,多体验一下[ ...
- eclipse快捷键 包括查找类、方法、变量
[Ct rl+T] 搜索当前接口的实现类 1. [ALT +/] 此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类.方法和属性的名字时,多体验一下[ ...
- Java final 关键词修饰类、方法、变量
1. final修饰类 被修饰的类不能被继承,也没有子类.假如随意创建这些类的子类,子类可能会错误的修改父类的实现细节.出于安全原因,类的实现细节不允许有任何改动.在创建对象模型的时候,确信这个类不 ...
- static关键字的作用(修饰类、方法、变量、静态块)
1. static修饰的类只能为内部类,普通类无法用static关键字修饰.static修饰的内部类相当于一个普通的类,访问方式为(new 外部类名.内部类的方法() ).如下所示: public c ...
- python学习道路(day8note)(抽象类,类的方法,异常处理,socket编程)
1.#面向对象 #抽象接口 === 抽象类 #就是架构师给你一个架子,你们去写,如果满足不了直接报错 #python2 print("python2---抽象类".center(2 ...
随机推荐
- Selenium+TestNG+Jenkins 框架图形化UML表示
- JAVA识别字符串是数字(英文)还是汉字,web页面进行字符截断的帮助类
public static void main(String[] args) { //长度是2说明是英文/数字/英文状态下的字符,长度为4说明是汉字/中文状态下的字符 String str = &qu ...
- Ubuntu18.04下的音频录制和编辑软件Ardour及QjackCtl(jackd gui)
Ardour 是一个Linux和OSX下的多音轨录制和数字音频编辑软件. 需要配合ALSA或者JACK总线使用. 快速入门 http://brunoruviaro.github.io/ardour4- ...
- Delta3D Open Source Engine
在看<游戏编程精粹6>时看到了这个引擎,彩插7是这个引擎的Editor,我一看就是Qt写的,我太熟悉Qt的界面了,呵呵.Editor非常强悍!有类似3dmax的4个视图 下载这个看下吧,里 ...
- 代理Proxy初探
Proxy,也就是"代理"了. 意思就是.你不用去做,别人取代你去处理.比方说:租房.你仅仅要找到"我爱我家"中介,把全部的事情交给他们去代劳, "我 ...
- uitextview根据内容算高度
UITextView根据内容自动改变frame 分类: iOS2013-03-08 07:27 190人阅读 评论(0) 收藏 举报 注意点: 在textview中计算string占据的高度不能使用[ ...
- hihocoder第233周
题目链接 题目描述 给定一个数组a[N],N小于1e5.把数组划分成若干个片段,每个片段的和都不为0,问有多少种划分方法? 方法描述 定义f(i)表示0~i共有多少种划分方式,则$f(j)=\sum_ ...
- 树莓派进阶之路 (018) - raspberryPi摄像头命令行软件raspistill帮助文档
文档原文:https://www.raspberrypi.org/app/uploads/2013/07/RaspiCam-Documentation.pdf 作用 在指定的时间运行摄像头,而且如果需 ...
- 【Struts2】Struts2框架的搭建
1,Struts2简介 struts1和struts2都是由Apache组织发布的,但是比较有趣的是struts2和struts1并没有“血缘关系”.在Apache发布struts1之后,当时是还是非 ...
- 【SQL】SQL 中Select语句完整的执行顺序
SQL Select语句完整的执行顺序: 1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函 ...