当前位置:   article > 正文

Unity3d 滑动事件--向上、向下、向左、向右(PC好用但是手机滑动不是很理想)_unity处理滑动手势的移动方式在电脑可以在手机上就不行

unity处理滑动手势的移动方式在电脑可以在手机上就不行

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

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

  1. private Vector2 touchFirst = Vector2.zero; //手指开始按下的位置
  2. private Vector2 touchSecond = Vector2.zero; //手指拖动的位置
  3. void Start()
  4. {
  5. }
  6. void OnGUI()
  7. {
  8. if (Event.current.type != null && Event.current.type == EventType.MouseDown)//判断当前手指是按下事件
  9. {
  10. touchFirst = Event.current.mousePosition;//记录开始按下的位置
  11. }
  12. if (Event.current.type != null && Event.current.type == EventType.MouseDrag)
  13. //判断当前手指是拖动事件
  14. {
  15. touchSecond = Event.current.mousePosition;
  16. if (touchSecond.y > touchFirst.y && touchSecond.x ==touchFirst.x)
  17. //拖动的位置比按下的位置y大 (向下滑动)
  18. {
  19. DownShow(); // 执行方法自己定义
  20. }
  21. else if (touchSecond.y < touchFirst.y && touchSecond.x == touchFirst.x)
  22. //拖动的位置比按下的位置y小 (向上滑动)
  23. {
  24. UpShow();// 执行方法自己定义,
  25. }
  26. else if (touchSecond.x > touchFirst.x && touchSecond.y == touchFirst.y)
  27. //拖动的位置比按下的位置x大 (向右滑动)
  28. {
  29. RightShow();// 执行方法自己定义,
  30. }
  31. else if (touchSecond.x < touchFirst.x && touchSecond.y == touchFirst.y)
  32. //拖动的位置比按下的位置x小 (向左滑动)
  33. {
  34. LeftShow();// 执行方法自己定义,
  35. }
  36. touchFirst = touchSecond; //初始化位置
  37. }
  38. }


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/178658
推荐阅读
相关标签
  

闽ICP备14008679号