|
--------------------------------
1.Input.touchCount 触摸随之增长 一秒50次增量
2.Input.GetTouch(0).phase==TouchPhase.Moved 手指滑动中最后一帧滑动的状态 是 运动的
3.TouchPhase 触摸的几个状态
4.Touch.deltaPosition 增量位置 (Input.GetTouch(0).deltaPosition)最后一帧滑动的值 只返回xy轴坐标 也可用vector3(z轴为0) 所以一般用vector2接收
--------------------------------- static var aa:int;
- function Update () {
- if(Input.touchCount>0)
- {
- print(Input.touchCount);
- }
- }
- function OnGUI()
- {
- GUI.Label(Rect(34,34,34,34),"sdff");
- }
复制代码 touchCount指的是触摸帧的数量。
要注意的是:touch事件 只能在模拟器或者真机上运行(已测试通过) 大约一秒钟touch不放 touchCount+50次左右
2.Input.touches 触摸列表- // Prints number of fingers touching the screen
- //输出触摸在屏幕上的手指数量
- function Update () {
- var fingerCount = 0;
- for (var touch : Touch in Input.touches) {
- if (touch.phase != TouchPhase.Ended && touch.phase != TouchPhase.Canceled)
- fingerCount++;
- }
- if (fingerCount > 0)
- print ("User has " + fingerCount + " finger(s) touching the screen");
- }
复制代码 3.让cube 随着touch 移动代码:- static var count:int; //定义touchCount数
- var particle_:GameObject;//定义存放cube对象
- var touchposition:Vector3; //存储移动三维坐标值
- function Update () {
- if(Input.touchCount>0)
- {
- count+=Input.touchCount;
-
- }
- if((Input.touchCount>0&&Input.GetTouch(0).phase==TouchPhase.Moved)) //[color=Red]如果点击手指touch了 并且手指touch的状态为移动的[/color]
- {
- touchposition=Input.GetTouch(0).deltaPosition; //[color=Red]获取手指touch最后一帧移动的xy轴距离[/color]
- particle_.transform.Translate(touchposition.x*0.01,touchposition.y*0.01,0);//[color=Red]移动这个距离[/color]
- }
-
-
- }
- function OnGUI()
- {
- GUI.Label(Rect(10,10,100,30),"cishu:"+count.ToString());
- GUI.Label(Rect(10,50,100,30),touchposition.ToString());
- }
复制代码 真机或模拟器测试即可
4.获取touch 指定texture的代码:- static var aa:int;
- var text_ture:GUITexture;
- function Update () {
- var count=Input.touchCount;
- for(var i:int=0;i<count;i++)
- {
- var touch:Touch=Input.GetTouch(i);
- if(text_ture.HitTest(touch.position)&&touch.phase==TouchPhase.Began)
- {
- aa++;
- }
-
- }
- }
- function OnGUI()
- {
- GUI.Label(Rect(34,34,34,34),aa.ToString());
-
- }
复制代码 |
|