Вращение корабля 360 * - PullRequest
       3

Вращение корабля 360 *

0 голосов
/ 26 июля 2011

В игре, которую я пытаюсь сделать, у меня есть несколько кораблей (не космических кораблей или около того, настоящие корабли в воде)

Если я просто поверну их напрямую, я получу абсурдные результаты.1004 * Нужно ли делать 8 картинок для каждого корабля?(учитывая 8 направлений) Есть ли способ, которым я могу сделать это, просто создав одно изображение или хотя бы несколько вместо 8?

Ответы [ 2 ]

1 голос
/ 26 июля 2011

Если вы говорите о 2D-графике и получаете «абсурдные результаты», я предполагаю, что вы не принимаете во внимание происхождение. Если у вас есть Texture2D и вы даете ему значение поворота, он будет вращаться с исходным значением по умолчанию (0,0). Попробуйте установить источник в вызове spritebatch.Draw для нового Vector2 (texture.width / 2, texture.height / 2) и посмотрите, является ли это шагом в правильном направлении.

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

1 голос
/ 26 июля 2011

По существу, математика вращения - это интерпретация исходного изображения.

Конечно, она работает в зависимости от сложности изображения и взаимосвязи прямых и перпендикулярных объектов, но некоторые вещи просто не работа.

Если вы делаете 2D-игру сверху вниз с кораблями, я собираюсь предположить, что здесь есть Парусные корабли, тогда математическое вращение действительно просто не будет выглядеть хорошоговорит о том, что они будут двигаться и наклоняться в зависимости от скорости / направления ветра и угла наклона корабля.

Короче говоря?Математическое вращение хорошо работает для треугольных кораблей в стиле астероидов, не очень хорошо для правильной графики.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...