利用EasyTouch插件进行滑动手势的操作
程序员文章站
2024-03-24 17:50:22
...
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();
上一篇: 总结ThinkPHP中模版标签的使用方法
下一篇: iOS开发--手势滑动的速度