Переместить растровое изображение в определенном направлении Android - PullRequest
0 голосов
/ 05 мая 2011

Хорошо, я работаю над игрой для Android, и сейчас у меня есть растровое изображение, которое я нарисовал в центре экрана.Я могу повернуть растровое изображение влево и вправо на определенные степени, используя класс Matrix.Растровое изображение представляет собой изображение корабля, поэтому, когда пользователь хочет двигаться вперед, я хочу, чтобы судно двигалось под текущим углом, на который поворачивается корабль.Есть идеи о том, как мне это сделать?

1 Ответ

2 голосов
/ 06 мая 2011

Хорошо, с кучей проб и ошибок и некоторым чтением триггера, мне удалось решить свой вопрос.Вектор, который содержит текущее местоположение корабля, имеет X и Y. То, что мне тогда нужно было сделать, было основано на текущем вращении корабля, рассчитать вектор скорости и затем добавить этот вектор скорости в вектор положения.

speedX = (float) Math.sin(rotation*(Math.PI/180)) * speed;
speedY = (float) -Math.cos(rotation*(Math.PI/180)) * speed;
x += speedX;
y += speedY;

Вращение дано в градусах, поэтому их необходимо было преобразовать в радианы.Скорость также является фактической скоростью корабля и применяется к каждому вектору скорости.Надеюсь, что это поможет кому-то, имеющему ту же проблему.

...