Unity3d 滑动事件--向上、向下、向左、向右(PC好用但是手机滑动不是很理想)

来源:互联网 发布:腾讯云域名建站教程 编辑:程序博客网 时间:2024/06/05 03:56

方法写在OnGUI里!!! 脚本挂在空节点就可以了!

// touchSecond.y > touchFirst.y && touchSecond.x ==touchFirst.x  多加了一个判断是因为滑动过程中总会误判

    private Vector2 touchFirst = Vector2.zero; //手指开始按下的位置    private Vector2 touchSecond = Vector2.zero; //手指拖动的位置    void Start()     {            }    void OnGUI()     {                if (Event.current.type != null && Event.current.type == EventType.MouseDown)//判断当前手指是按下事件        {            touchFirst = Event.current.mousePosition;//记录开始按下的位置        }        if (Event.current.type != null && Event.current.type == EventType.MouseDrag)             //判断当前手指是拖动事件        {            touchSecond = Event.current.mousePosition;            if (touchSecond.y > touchFirst.y && touchSecond.x ==touchFirst.x)                //拖动的位置比按下的位置y大  (向下滑动)            {                DownShow(); // 执行方法自己定义            }            else if (touchSecond.y < touchFirst.y && touchSecond.x == touchFirst.x)                //拖动的位置比按下的位置y小  (向上滑动)            {                UpShow();// 执行方法自己定义,            }            else if (touchSecond.x > touchFirst.x && touchSecond.y == touchFirst.y)                //拖动的位置比按下的位置x大  (向右滑动)            {                 RightShow();// 执行方法自己定义,            }            else if (touchSecond.x < touchFirst.x && touchSecond.y == touchFirst.y)                //拖动的位置比按下的位置x小  (向左滑动)            {                LeftShow();// 执行方法自己定义,            }            touchFirst = touchSecond; //初始化位置        }    } 


阅读全文
0 0
原创粉丝点击