• unity3D 实现手机的双指触控和Input类touch详解


    多点触控时,下标是从0开始的,两个触控点下标就是0,1。

    代码如下:

    nt touchCount = 2; // 触摸帧的数量
    
    if(touchCount == Input.touchCount())
    { vector2 touchPosition1 = Input.GetTouch(0).position; vector2 touchPosition2 = Input.GetTouch(1).position; }

      

    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());
    }

     参考自:http://www.unitymanual.com/2775.html

  • 相关阅读:
    wp8使用mvvm模式简单例子(二)---登陆功能,事件触发
    wp8使用mvvm模式简单例子
    win8.1使用WP8SDK出现Windows Phone Emulator无法启动的问题解决方案
    asp.net原理笔记----页面控件类型,页面状况和asp.net编译过程
    asp.net生命周期
    asp.net服务器数据源控件学习笔记
    AJax学习笔记
    asp.net敏感词过滤
    网上书城总结笔记
    在自己的网站上使用RSS订阅功能
  • 原文地址:https://www.cnblogs.com/Kprogram/p/4203969.html
Copyright © 2020-2023  润新知