Как сделать так, чтобы событие Lean FingerSwipe запускалось в начале прокрутки? - PullRequest
1 голос
/ 29 марта 2020

Я разрабатываю мобильную игру в Unity, для которой мне нужны элементы управления, чтобы быть очень отзывчивым. Я использую актив Lean Touch для обнаружения касания. Я управляю своим плеером с помощью сценария Lean FingerSwipe по четырем направлениям (ВВЕРХ, ВПРАВО, ВНИЗ, ВЛЕВО), который срабатывает в конце пролистывания.

Моя проблема заключается в том, что я хочу, чтобы событие вызывалось при начало свайпа, а не в конце, но я не могу найти способ сделать это. Вы знаете, есть ли опция или аргумент для этого?

Спасибо

1 Ответ

1 голос
/ 29 марта 2020

Вы можете сделать так, чтобы свайп чувствовал себя отзывчивым, вызвав его точно в тот момент, когда дельта пальца пересекает порог свайпа. В отличие от ожидания поднятия пальца.

Скопируйте и измените LeanFingerSwipe.cs из примеров LeanTouch.

Во-первых, вместо OnFingerSwipe подпишитесь на OnFingerSet.

LeanTouch.OnFingerSet += HandleFingerSwipe;

Во-вторых, внутри функции HandleFingerSwipe добавьте охрану.

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