У меня что-то не получается, мне нужно сделать так, чтобы объект (весло для понга) двигался только по круговому маршруту вдоль экрана. то же самое, как если бы у вас было постоянное значение оси Y, и оно перемещалось бы только вдоль оси x, когда вы перетаскивали на него палец, но ограничивало бы его круговым маршрутом.
Редактировать: По сути, приведенный выше код позволяет пользователю вращать изображение, и центр изображения не изменится. angleBetween2Line() вычисляет степень, в которой палец переместился по кругу, центр которого является центром изображения.
Ответ 2 · рейтинг 3 · spatulamania
Точки на окружности могут быть определены функциями:
x = a + r cos(θ)
y = b + r sin(θ)
Где (a,b) - центр окружности.
В зависимости от желаемой скорости вы можете сказать, что хотите, чтобы полный круг совершался каждые T секунд. И если t - это время, прошедшее с начала анимации:
θ = (360 / T) * (t % T)
Вы можете использовать эти функции для создания собственной функции ViewAnimation, OpenGL или, если вы используете холст, для установки положения ракетки во время события onDraw().