• unity中的touch《转》


    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接收

    --------------------------------

    1. static var aa:int;
    2. function Update () {
    3.         if(Input.touchCount>0)
    4.         {
    5.                 print(Input.touchCount);
    6.         }
    7. }
    8. function OnGUI()
    9. {
    10.         GUI.Label(Rect(34,34,34,34),"sdff");
    11. }
    复制代码

    touchCount指的是触摸帧的数量。
    要注意的是:touch事件 只能在模拟器或者真机上运行(已测试通过) 大约一秒钟touch不放   touchCount+50次左右


    2.Input.touches 触摸列表

    1. // Prints number of fingers touching the screen
    2. //输出触摸在屏幕上的手指数量
    3. function Update () {
    4.         var fingerCount = 0;
    5.         for (var touch : Touch in Input.touches) {
    6.                 if (touch.phase != TouchPhase.Ended && touch.phase != TouchPhase.Canceled)
    7.                         fingerCount++;
    8.         }
    9.         if (fingerCount > 0)
    10.                 print ("User has " + fingerCount + " finger(s) touching the screen");
    11. }
    复制代码

    3.让cube 随着touch 移动代码:

    1. static var count:int; //定义touchCount数
    2. var particle_:GameObject;//定义存放cube对象
    3. var touchposition:Vector3; //存储移动三维坐标值
    4. function Update () {
    5.         if(Input.touchCount>0)
    6.         {
    7.                         count+=Input.touchCount;
    8.                        
    9.         }
    10.         if((Input.touchCount>0&&Input.GetTouch(0).phase==TouchPhase.Moved)) //[color=Red]如果点击手指touch了  并且手指touch的状态为移动的[/color]
    11.         {
    12.                 touchposition=Input.GetTouch(0).deltaPosition;  //[color=Red]获取手指touch最后一帧移动的xy轴距离[/color]
    13.                particle_.transform.Translate(touchposition.x*0.01,touchposition.y*0.01,0);//[color=Red]移动这个距离[/color]
    14.         }
    15.                
    16.        
    17. }
    18. function OnGUI()
    19. {
    20.         GUI.Label(Rect(10,10,100,30),"cishu:"+count.ToString());
    21.         GUI.Label(Rect(10,50,100,30),touchposition.ToString());
    22. }
    复制代码

    真机或模拟器测试即可

  • 相关阅读:
    C语言_航模社第四节
    C语言_航模社第三节
    C语言交换两个变量的值
    C语言表达分段函数
    c语言_2017.10.22
    stm32_配置GPIO点亮led灯
    prteus8安装教程
    安装keil_5步骤
    nginx配置实现https的配置文件方法
    TortoiseGit 代码版本回退及返回
  • 原文地址:https://www.cnblogs.com/xiao-wei-wei/p/3370024.html
Copyright © 2020-2023  润新知