版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1. unity 的输入系统1.1 虚拟轴的输入检测unity默认定义了15个虚拟轴。可以通过edit -> project settings -> input 打开 inputmanager 来查看定义好的虚拟轴 (1) 虚拟轴的属性size之后的一些属性,例如:horizontal,vertical。顾名思义这是水平方向和前后方向上的定义(针对于轴向在x轴上)。点击 horizontal旁边的三角形,可以看到其中定义了许多内容。例如:name表示的是这个虚拟轴的名称,negative button表示的是水平位置上负方向的按钮(向左),positive b
2、utton表示的是水平位置上正方向的按钮(向右)。下两个带alt的选项是备选方案。gravity代表的是按钮恢复到正常值的恢复速度,值越大越 快。dead表示当对应按钮的数值小于此处定义的数值时,都认为按钮已经复位。axis项定义虚拟轴的方向,可以使x轴y轴或者其他多位控件的轴。 (2) 调用input.getaxis方法来获取虚拟轴的当前状态值虚拟轴中负方向和正方向的数值范围时-1到1之间。例如:getaxis("horizontal"); 这时候如果按住left按钮,此函数会返回-1 ,松开之后恢复到0。一样的如果按住right按钮,此时函数会返回1。因此可以
3、认为在-1到0之间是按了虚拟轴的负方向,在等于0时是什么都没有按,在 0到1之间是按了虚拟轴的正方向。因此可以把这个值作为transform或者rotation的值,来控制物体的移动和旋转方向,也可以控制物体的移动速度随按键力度的变化等。 1.2 鼠标输入检测对于鼠标的检测。主要的是 input 类中的 getmousebutton / getmousebuttondown / getmousebuttonup,入参为0/1/2,分别对应鼠标左键/右键/中键盘。返回值为bool,表示该键是否处于该状态。例如,当按下鼠标左键的一瞬间,g
4、etmousebuttondown(0) 的返回值为true。getmousebuttondown()当鼠标按下时执行,但只会执行一次。getmousebutton()当鼠标长按时,会一直执行。getmousebuttonup()是当松开鼠标时执行,且只会执行一次。 1.3 键盘输入检测键盘的检测,主要是 input 类的 getbuttondown / getbutton / getbuttonup 和 getkeydown / getkey / getkeyup 两组。getbutton 组方法的参数
5、是虚拟轴的名称,返回值为 bool 类型,可以检测到该虚拟轴定义的按键状态,如虚拟轴 "horizontal" 中定义了lef/right/a/d 键,当这几个键被按下时,getbutton("horizontal") 返回truegetkey 组方法的参数为 string 或 unity 定义的 枚举类型keycode,例如当字母键a被按下时,getkey(keycode.a) 以及 getkey("a") 返回值都为true 1.4 触摸检测unity 定义了枚举类型touchphasetouch.gettou
6、ch(0).phase 返回最近一帧的触摸状态。input.touchecount,触摸持续帧数。touch.deltaposition 最后一阵滑动的值,只返回xy坐标,一般用vector2接收。 2. xgame游戏的输入管理系统2.1 inputmanagerinputmanager 负责检测底层设备输入,派发输入事件。 (1) 定义枚举类型 inputstate 表示当前的输入 (2) 枚举类型etouchphase表示 上一帧的输入状态 (3) 枚举类型gestureevent 表示判定出的输入事件 (4) 类inputevent 表
7、示输入事件,包含了一个 gestureevent 成员,具体的子类还定义了各自的数据字段,比如 touchevent 定义了触摸点的坐标等。 (5) inputmanager 中定义一系列的代理类型,并定义了对应的事件 在 inputmanager 的 update() 方法中,调用gettouchphase获得上一帧的触摸状态(etouchphase),结合当前的输入状态(inputstate),确定并修改输入状态,并判定输入产生何种效果(gestureevent),然后获取相应的数据信息,填充 inputevent,调用 raiseevent 派发事件,raiseevent的实现就是根据 参数的 gestureevent 枚举值,执行不同的代理方法。 2.2 inputdelegateinputdelegate 负责管理当前的输入模式,根据输入模式往 inputmanager 注册当前模式下各种 inputevent 的回调方法。 (1) 定义枚举 inputmodule 表示游戏不同状
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江省金华市十校2024~2025学年高二上学期期末生物试卷(含答案)
- 语文-内蒙古鄂尔多斯市西四旗2024-2025学年2025届高三第一(上)学期期末联考试卷试题和答案
- 2024版标准合作合同签订稿版
- 福建省南平市金桥中学2021年高一英语模拟试卷含解析
- 福建省南平市建阳水吉中学高一物理上学期期末试题含解析
- 2024版个人房屋装修承包合同
- 苏北四市(徐州、宿迁、淮安、连云港)2025届高三第一次调研考试(一模)政治试卷(含答案)
- 2025年度二零二五年度科技产品全国巡展推广合同3篇
- 2024股权对外转让协议与股权托管协议
- 《会展经济与策划》课件
- 冬春季呼吸道传染病防控
- 数学-2025年高考综合改革适应性演练(八省联考)
- 2024年医疗器械经营质量管理规范培训课件
- 2024年计算机二级WPS考试题库380题(含答案)
- 高压配电柜系列产品出厂检验规范
- 节流孔板孔径计算
- 法院传票模板
- 企业价值图(企业价值管理图EVM)
- 水利施工风险管理责任落实表
- 化妆品原料名称对照及用途
- 双梁门式起重机计算书
评论
0/150
提交评论