У меня есть точка, определяемая x, y, и вектор, определяемый заголовком и скоростью. Я пытаюсь переместить точку x, y вдоль этого вектора на расстояние «скорости». Ниже приведен код, который я сейчас использую:
self.x += self.speed * cos(self.heading);
self.y += self.speed * sin(self.heading);
Направление может быть любым углом в полном круге - от 0 до 2π (0-360 градусов). Проблема в приведенном выше коде:
- Only moves along the x or y axis when angle is 0->270
- for example, when the avatar is facing the top-right corner (45 degrees relative), it moves straight up.
- for example, when the avatar is facing the top-right corner (45 degrees relative), it moves straight up.
- Не двигается вообще, когда угол 270-> 360
курс, скорость, X и Y - все двойные, и курс сообщается пользователем, касающимся панели направления в нижнем углу. Я знаю, что заголовок правильный, потому что аватар вращается в правильном направлении, это просто фактическое движение, с которым у меня проблемы.
Спасибо за любую помощь
– Крис