Unity EasyTouch插件怎么在代码中判断当前手势是单指还是双指

EasyTouch插件提供了许多的手势方法, 我们再做项目的过程中,会经常用到这个插件,特别是 Android或者ios移动端的时候。

比如在做双指On_Swipe2Fingers(双指划动)手势动作的时候On_Swipe(单指划动)的手势动作也会触发。如果两种手势,调用的方法不一样,那么就会两种事件方法就会同时调用,就会冲突。这显然不是我们想要的效果。一种手势只能有一种事件方法被调用。

PS:以下方法是基于EasyTouch5_x的写法使用。关于EasyTouch4_x与EasyTouch5_x的写法区别,大家可自行度娘,这里不做赘述。

不明白的地方可在评论区留言

   void Update()
    {
        Gesture gesture = EasyTouch.current;            //获取当前的手势
        if (gesture == null)        //这里需要判一下空
            return;

        var fingerCount = gesture.touchCount;        //当前手指的数量(1为单指,2为双指))
        var fingerIndex = gesture.fingerIndex;       //当前手指的索引(0为第一个手指,1为第二个手指,-1为两个手指)
    }

    void Update()
    {

        Gesture gesture = EasyTouch.current;          //当前手势
        if (gesture == null)        //判一下空
            return;

        var fingerCount = gesture.touchCount;        //当前手指的数量
        var fingerIndex = gesture.fingerIndex;       //当前手指的索引

        if(gesture.type==EasyTouch.EvtType.On_Swipe2Fingers)             //当前操作的是双指划动
        {

        }
        if(gesture.type==EasyTouch.EvtType.On_Swipe)            //当前操作的是单指划动
        {


        }
    }

API

总结:在度娘找了半天都没有想要的答案,要不就是千篇一律的Copy,要不就是一堆废话。冗长且无用。码海无涯苦做舟,学习和应用某种技能技术。最好的方法还是查看官方文档,可以少走很多弯路。大家一起努力吧。

猜你喜欢

转载自blog.csdn.net/qq_39934403/article/details/107143519