概述
/************* ** Company: DX **SrtiptName:DragItem ** Auth: CW ** Des: 文本描述 ** Ver.: V1.0.0 *************/ using UnityEngine; using System.Collections; using UnityEngine.EventSystems; using Kernal; namespace Global { public class DragItem : MonoBehaviour { /// <summary> /// 开始触摸的手指的位置 /// </summary> private Vector3 _startTouchPos; private PointerEventData _pointerEventData; /// <summary> /// 拖拽的方向 /// </summary> private E_DragDir _dragDir; void Start() { EventTriggerListener.Get(gameObject).OnMyBeginDrag += OnBeginDrag; EventTriggerListener.Get(gameObject).OnMyDrag += OnDrag; EventTriggerListener.Get(gameObject).OnMyEndDrag += OnEndDrag; } private void OnEndDrag(GameObject go, BaseEventData baseEventData) { _dragDir = E_DragDir.None; } private E_ClickPosType CurretClickType; private void OnDrag(GameObject go, BaseEventData baseEventData) { if (_pointerEventData.position.x > _startTouchPos.x) { Log.Debug("往右边滑动"); _dragDir = E_DragDir.Right; } else if (_pointerEventData.position.x < _startTouchPos.x) { Log.Debug("往左边滑动"); _dragDir = E_DragDir.Left; } else if (_pointerEventData.position.y < _startTouchPos.y) { Log.Debug("往下面滑动"); _dragDir = E_DragDir.Down; } else if (_pointerEventData.position.y > _startTouchPos.y) { Log.Debug("往上面滑动"); _dragDir = E_DragDir.Up; } _startTouchPos = _pointerEventData.position; } private void OnBeginDrag(GameObject go, BaseEventData baseEventData) { _pointerEventData = baseEventData as PointerEventData; _startTouchPos = _pointerEventData.position; } /// <summary> /// 得到滑动的方向 /// </summary> /// <returns></returns> public E_DragDir GetDragDir() { return _dragDir; } } }
转载于:https://www.cnblogs.com/weiqiangwaideshijie/p/9287257.html
最后
以上就是活力手机为你收集整理的Unity判断手势在物品的滑动方向(上下左右)的全部内容,希望文章能够帮你解决Unity判断手势在物品的滑动方向(上下左右)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复