首页 > 解决方案 > 如何在滑动开始时触发 Lean FingerSwipe 事件?

问题描述

我正在 Unity 中开发一款手机游戏,我需要控制非常灵敏。我使用 Lean Touch 资产进行触摸检测。我正在使用 Lean FingerSwipe 脚本在四个方向(上、右、下、左)上控制我的播放器,该脚本在滑动结束时触发。

我的问题是我希望事件在滑动开始时触发,而不是在结束时触发,但我找不到这样做的方法。你知道是否有这样做的选择或论据吗?

谢谢

标签: androidunity3dmobiletouch

解决方案


您可以通过在手指增量超过滑动阈值时准确触发滑动来使滑动感觉响应。而不是等待手指被抬起。

从 LeanTouch 示例中复制和修改LeanFingerSwipe.cs 。

首先,而不是OnFingerSwipe订阅OnFingerSet.

LeanTouch.OnFingerSet += HandleFingerSwipe;

其次,在HandleFingerSwipe函数内部,添加一个守卫。

if (finger.SwipeScreenDelta.magnitude * LeanTouch.ScalingFactor > LeanTouch.Instance.SwipeThreshold)
{
    HandleFingerSwipe(finger, finger.StartScreenPosition, finger.ScreenPosition);
}

推荐阅读