Функция обработки lerp()
подходит для этого (поскольку вы ищете частицу в направлении lerp к курсору мыши).
posX = lerp(posX, mouseX, 0.5);
posY = lerp(posY, mouseY, 0.5);
Последний параметр (здесь 0,5)) - это величина для интерполяции между двумя значениями, где 0,1 очень близко к текущей позиции частицы;0.5 находится посередине между положением частицы и положением курсора и т. Д.
Lerp - сокращение от линейной интерполяции. Вы можете найти другие формы интерполяции (или ослабления), которые более подходят для моделирования движения вашей частицы, например, из коллекции ускорения ручки: