Unity输入与控制
2014-09-25 11:01
162 查看
主要概念:
1.虚拟轴
2.输入预先设置
示例:
通过键盘控制物体移动
主要注意 : 要使用
等语句来获得与刷新的帧率无关的移动效果(平滑性)
3.键盘检测
GetKey和GetButton
GetKey两种方式:
GetButton的方式:
可知GetButton获取的是虚拟轴的名称
可用于检测单一键盘事件的发生;譬如射击
4.鼠标事件
检测单击事件:
0-左键,1-右键,2-中键
检测长按事件:
检测按键释放:
在GUI系统中可以按照如下进行双击检测
,使用的主要是GUI的事件机制。
OK.
1.虚拟轴
2.输入预先设置
示例:
通过键盘控制物体移动
private float speed = 10.0F; //速度 private float rotaSpeed = 100.0F; //旋转速度 // Update is called once per frame void Update () { //获取垂直方向的虚拟轴,控制w,s float translation = Input.GetAxis("Vertical") * speed; //获取水平方向的虚拟轴,控制a,d float rotation = Input.GetAxis("Horizontal") * rotaSpeed; //根据时差进行变幻 translation *= Time.deltaTime; rotation *= Time.deltaTime; //进行变换 transform.Translate(0, 0, translation); transform.Rotate(0,rotation,0); }
主要注意 : 要使用
rotation *= Time.deltaTime;
等语句来获得与刷新的帧率无关的移动效果(平滑性)
3.键盘检测
GetKey和GetButton
GetKey两种方式:
if (Input.GetKey(KeyCode.UpArrow)) { print("get up"); }
if (Input.GetKey(“up”)) { print("get up"); }
GetButton的方式:
if(Input.GetButton("Fire1")){ print("pressed Fire1"); }
可知GetButton获取的是虚拟轴的名称
可用于检测单一键盘事件的发生;譬如射击
4.鼠标事件
检测单击事件:
if (Input.GetMouseButtonDown(0)) { print("按下了左键"); }
0-左键,1-右键,2-中键
检测长按事件:
if (Input.GetMouseButton(0)) { print("按下了左键"); }
检测按键释放:
if (Input.GetMouseButtonUp(0)) { print("放开了左键"); }
在GUI系统中可以按照如下进行双击检测
void OnGUI() { Event e = Event.current; if (e.isMouse && (e.clickCount == 2)) { Debug.Log("双击了鼠标"); } }
,使用的主要是GUI的事件机制。
OK.
相关文章推荐
- Unity学习之输入与控制
- Unity输入控制
- 自制OculusVR控制(一)——利用Unity的自带方法实现VR的控制输入
- 【Unity】第7章 输入控制
- Unity 输入与控制
- Unity常用输入控制GameObject运动
- 关于移动端触屏输入控制的API的使用汇总(二)_Unity 单指与双指Touch事件捕获(网友项目使用总结)
- 对Unity Input 输入控制的深入探讨
- 关于移动端触屏输入控制的API的使用汇总(三)_Unity Android手机触屏事件
- 【Unity 3D】学习笔记四十六:输入与控制——键盘事件
- 【Unity&UGUI】输入框代码控制InputField,并显示输入文本
- 基于Unity的AOP的符合基于角色的访问控制(RBAC)模型的通用权限设计
- jQuery控制文本框只能输入数字[兼容IE、火狐等浏览器]
- input 只允许输入数字 及长度控制
- angularJS 控制输入的百分数在0%-100%之间
- 【Unity 3D学习】鼠标点击控制人物移动到目标位置
- C++STL开发温习与总结(六): 6.C++语言输入/输出流定义之输入/输出格式控制
- 用回车键实现MFC对话框中TAB键控制输入焦点在控件中跳转的效果
- 用js控制不允许输入空格和自动清楚文本中的空格
- javascript键盘输入控制