标签:style blog color io 使用 ar for div sp
主要概念:
1.虚拟轴
2.输入预先设置
示例:
通过键盘控制物体移动
1 private float speed = 10.0F; //速度 2 3 private float rotaSpeed = 100.0F; //旋转速度 4 5 // Update is called once per frame 6 void Update () { 7 8 //获取垂直方向的虚拟轴,控制w,s 9 float translation = Input.GetAxis("Vertical") * speed; 10 11 //获取水平方向的虚拟轴,控制a,d 12 float rotation = Input.GetAxis("Horizontal") * rotaSpeed; 13 14 //根据时差进行变幻 15 translation *= Time.deltaTime; 16 rotation *= Time.deltaTime; 17 18 //进行变换 19 transform.Translate(0, 0, translation); 20 transform.Rotate(0,rotation,0); 21 }
主要注意 : 要使用
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.
标签:style blog color io 使用 ar for div sp
原文地址:http://www.cnblogs.com/lhyz/p/3992294.html