我是靠谱客的博主 活力手机,最近开发中收集的这篇文章主要介绍Unity判断手势在物品的滑动方向(上下左右),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 /*************
** 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判断手势在物品的滑动方向(上下左右)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(31)

评论列表共有 0 条评论

立即
投稿
返回
顶部