利用EasyTouch插件进行滑动手势的操作

using System.Collections;
using System.Collections.Generic;
using HedgehogTeam.EasyTouch;
using UnityEngine;

public class TestMapCtr : MonoBehaviour
{
    public TweenPosition mapTween;              //利用NGUi里面的Tween组件,创建一个Tween动画
    public UIButton showbutton;
    
    void Awake()
    {
        EventDelegate.Add(showButton.onClick, delegate() { OnShowButtonClick(); });
    }

    void Update()
    {
	OnSwipeGesture();
} void OnShowButtonClick() { mapTween.PlayForward(); }
 
  
    
    //判断条件然后实现向右滑动手势隐藏小地图
    private void OnSwipeGesture()
    {
        //利用easytouch定义手势
        Gesture currentGesture = EasyTouch.current;
	//鼠标按下的那个点
        Vector2 gestureStartPos = currentGesture.startPosition;
	//鼠标抬起的那个点
        Vector2 gestureEndPos = currentGesture.position;

        //先判断鼠标按下的位置必须在一块区域之内
        if (gestureStartPos.x>2060.0f && gestureStartPos.y>1127.0f)
        {
	    //判断按下后执行了手势向右滑的操作没
            if (currentGesture.swipe == EasyTouch.SwipeDirection.Right)
            {
		//判断鼠标抬起位置的x点比按下位置的x点大,和抬起位置的y点大于等于按下位置的那个点
                if (gestureEndPos.x > gestureStartPos.x && gestureEndPos.y >= 1127.0f)
                {
                    MapTween.PlayReverse();
                }
            }
        }
    }
 
  
}
这段代码还存有一个bug,就是先满足第一个if语句,然后把鼠标拖出到区域外,然后满足第二个if语句,再满足第三个if语句,也可以执行MapTween.PlayReverse();

你可能感兴趣的:(自己的代码,功能的实现)