美文网首页
unity 移动端 判断手指左滑还是右滑

unity 移动端 判断手指左滑还是右滑

作者: Walk_In_Jar | 来源:发表于2018-08-22 12:54 被阅读0次
        enum slideVector { nullVector, left, right };
        private Vector2 lastPos;//上一个位置
        private Vector2 currentPos;//下一个位置
        private slideVector currentVector = slideVector.nullVector;//当前滑动方向
        private float timer;//时间计数器
        public float offsetTime = 0.01f;//判断的时间间隔
    void update(){
      if (Input.touchCount == 1)
            {
                if (Input.touches[0].phase == TouchPhase.Began)
                {
                    lastPos = Input.touches[0].position;
                    currentPos = Input.touches[0].position;
                    timer = 0;
                    Debug.Log("Click begin && Drag begin");
                }
                if (Input.touches[0].phase == TouchPhase.Moved)
                {
                    currentPos = Input.touches[0].position;
                    timer += Time.deltaTime;
                    if (timer > offsetTime)
                    {
                        if (currentPos.x < lastPos.x)
                        {
                            if (currentVector == slideVector.left)
                            {
                                return;
                            }
                            //TODO trun Left event
                            currentVector = slideVector.left;
                            Debug.Log("Turn left");
                        }
                        if (currentPos.x > lastPos.x)
                        {
                            if (currentVector == slideVector.right)
                            {
                                return;
                            }
                            //TODO trun right event
                            currentVector = slideVector.right;
                            Debug.Log("Turn right");
                        }
                        lastPos = currentPos;
                        timer = 0;
                    }
                }
                if (Input.touches[0].phase == TouchPhase.Ended)
                {//滑动结束
                    currentVector = slideVector.nullVector;
                    Debug.Log("Click over && Drag over");
                }}
    

    相关文章

      网友评论

          本文标题:unity 移动端 判断手指左滑还是右滑

          本文链接:https://www.haomeiwen.com/subject/oeneiftx.html