Input 中的Touch类 小结

本文转自博文http://blog.163.com/mei_xiajinyi/blog/static/24262507820154193418494,感谢博主分享

Input.touchCount 触摸随之增长              一秒50次增量

Input.GetTouch(0).phase == TouchPhase.Moved
手指滑动中最后一针滑动的状态是运动的

TouchPhase  触摸的几个状态
Began                                         手指已触摸屏幕
Moved                                        手指在屏幕上移动
        Stationary     手指触摸屏幕,但是并没有移动
        Ended              手指从屏幕上移动,这是一个触摸的最后状态
        Canceled     系统取消跟踪触摸,如用户把屏幕放到他的脸上或超过五个接触同时发生。这是一个触摸的最后状态                     

Touch.deltaPosition 增量位置 (Input.GetTouch(0).deltaPosition)最后一帧滑动的值,只返回xy 轴坐标 也可用vector3(z轴为0)所以一般用vector2接受

1.Input.touchCount
   void Update()
    {
        if(Input.touchCount > 0)
        {
            Debug.Log(Input.touchCount);
        }
    }

touch 时间,只能在模拟器或者移动端运行,大约一秒中touch不放  50次左右
touchCount 是触摸帧的数量

2.Input.touches 触摸数组

    int fing = 0;
    void Update()
    {
        foreach (Touch a  in Input.touches)
        {
            if(a.phase != TouchPhase.Ended && a.phase != TouchPhase.Canceled)
            {
                fing ++;
            }
        }
    }

3.让cube 随着touch 移动代码
    int count = 0;
    Vector3 touchposition = Vector3.zero;
    public GameObject cube;
    void Update()
    {
        if (Input.touchCount > 0)
        {
            count += Input.touchCount;
            Debug.Log(count);
        }
        if(Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved)
        {
           touchposition = Input.GetTouch(0).deltaPosition;                
           cube.transform.Translate(touchposition.x * 0.01f,touchposition.y * 0.01f,0f);
        }
    }

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值