У меня есть игровой мир, в котором игрок вращается вокруг точки (например, планеты). Как я могу вращать тело вокруг центральной точки? Я также хочу как-то использовать что-то вроде интерполяции классов актеров для перемещения вещей, возможно ли это? Благодаря!Вращайте тела вокруг центральной точки
0
A
ответ
2
Вы можете вращаться через vector2 easly.
Vector2 vectorbody = new Vector2(50f, 50f);
Vector2 vectorcenter = new Vector2(100f,100f);
Vector2 vectordis= vectorbody.cpy().sub(vectorcenter);//Displacement vector center to body
vectordis.setAngle(vectordis.angle() + rotatespeed);//Rotate speed can be negative that means it will rotates to other side.
vectordis.add(vectorcenter); //vectordis now became rotated vectorbody
vectorbody.set(vectordis); //vectorbody updated
Вы также можете использовать актер-методы.
Просто определите новую переменную, как is_in_orbit, и если ее истинная (на орбите), то поверните ее в другое место с помощью методов интерполяции классов акторов.
Кстати, у вас также есть мнение, чтобы использовать физику, поскольку закон всемирного тяготения Ньютона также является физикой, но он будет сложным и может вызвать неожиданные результаты в случае появления большего количества точек центра (планеты, как вы сказали).
Смежные вопросы
- 1. Вращайте изображение вокруг точки
- 2. Вращайте изображение вокруг его центральной точки на холсте
- 3. Вращение точки вокруг центральной точки
- 4. Вращение вида вокруг центральной точки
- 5. pygame вращение вокруг центральной точки
- 6. Объект орбиты вокруг центральной точки
- 7. Вращение CGPoint вокруг центральной точки
- 8. Поворот содержимого вокруг центральной точки в html5
- 9. Поверните квадрат вокруг центральной точки в OpenGL
- 10. Тригонометрия: 3D вращение вокруг центральной точки
- 11. Поверните UIImageView вокруг своей центральной точки?
- 12. AS3 Поверните объект вокруг его центральной точки
- 13. Поверните BufferedImage вокруг его центральной точки
- 14. iOS: Как повернуть UIImageView вокруг центральной точки?
- 15. Повернуть изображение вокруг центральной точки его контейнера
- 16. jQuery и анимация вокруг центральной точки
- 17. Вращение вокруг центральной точки в Unity C#
- 18. Элементы положения javafx вокруг центральной точки
- 19. Java Поворот объекта вокруг центральной точки?
- 20. Qt Вращающийся текст вокруг его центральной точки
- 21. Swift: Поверните слой вокруг центральной точки
- 22. Поворот треугольников вокруг центральной точки без перекрытия
- 23. Raphael.js нерегулярный путь вокруг центральной точки
- 24. Javascript - вычислить точки геокоординирования четырех углов вокруг центральной точки
- 25. Вращение точки вокруг центральной точки, что-то не так
- 26. Вращайте точку вокруг вектора 3d
- 27. Вращение объекта вокруг его центральной точки в единстве 3d
- 28. перемещает слой UIView, когда вращающийся вокруг без центральной точки привязки
- 29. Ведение списка точек вокруг центральной точки, сохраняя Заказать CCW
- 30. Вращение UIView вокруг центральной точки без поворота самого вида
Я знаю, что могу использовать класс актера, но я хотел также использовать box2d в качестве столкновения. Я все еще запутался в чем-то, но как я могу повернуть тело? Я вижу, что вы используете векторы, чтобы получить угол, как мне настроить тело на этот угол? – Wyatt
Фактически я получил позицию. vectorbody.x и vectorbody.y - это новые координаты тела. Вы можете установить положение тела с bodyDef.position.set (vectorbody.x, vectorbody.y); –
Я догадываюсь, что вас не поняли. я говорил о положении, когда тело вращается вокруг центра, а не вращение тела. Вы можете исследовать body.setTransform (body.getPosition(), угол); –