Я предполагаю, что вы подразумеваете под "облегчением", что он постепенно делает то, что должен делать (что мне не совсем понятно (я мало знаю о сенсорных панелях и жестах).
ТамЕсть несколько способов сделать это. Вы можете использовать физический подход и использовать закон Ньютона и просто решить дифференциальное уравнение.
Способ, которым я обычно делаю такие вещи (например, постепенная остановка при прокрутке окна с помощьюмышь), просто постепенно уменьшать скорость, используя некоторую функцию с параметрами, которые я могу изменить, чтобы получить ощущение, которое я хочу.
В вашем случае, я получил то, что вы пытаетесь сделать, вы просто хотитеобновить позицию, основываясь на скорости.
Предположим, вы делаете это горизонтально (обычно вы будете делать это для 2D),
X_new = X_old + скорость * dt скорость = max (0, скорость * 0,95 - 0,2)
Постепенно перемещайте координату x (X_old становится X_new каждый раз по циклу (что вы обычно делаете в потоке)), так что вместо остановкиполностью он продолжает двигаться, пока скорость не достигнет нуля.Я использую простую функцию pow, чтобы постепенно уменьшить ее, но вы можете придумать любую функцию.
Вы также можете учесть расстояние от указателя до края.Я делаю это в одной из моих программ, чтобы при перемещении курсора мыши от края скорость прокрутки зависела от того, как далеко (поэтому, если вы хотите немного прокрутить, вы немного двигаетесь, а много - много).
Помните, что вам придется обрабатывать это в потоке, вероятно, потому что это то, что продолжает происходить.Вы также можете вычислить ускорение и использовать простую физику для вычисления положения на его основе.x = x0 + x '* t + 1/2 * x' '* t ^ 2 типа материала.