Моя проблема проста.
У меня есть космический корабль, который я могу перемещать и вращать, и я уже отслеживаю его курс, направление, в котором он смотрит. Например, на изображении ниже корабль движется примерно в направлении 45 градусов. Он изменяется от 0° (начиная сверху и по часовой стрелке) до 359°

Мне просто нужно заставить пулю лететь прямо вперед в направлении (курсе) моего космического корабля. смотрит, начиная с координат X,Y, где сейчас находится мой космический корабль
Класс «Снаряд»:
class Projectile(object) :
def __init__(self, x, y, vel, screen) :
self.screen = screen
self.speed = 1 #Slow at the moment while we test it
self.pos = Vector2D(x, y)
self.velocity = vel #vel constructor parameter is a Vector2D obj
self.color = colors.green
def update(self) :
self.pos.add(self.velocity)
def draw(self) :
pygame.draw.circle(self.screen, self.color, self.pos.int().tuple(), 2, 0)
Теперь метод стрельбы моего класса корабля:
class Ship(Polygon) :
# ... A lot of ommited logic and constructor
def shoot(self) :
p_velocity = # .......... what we need to find
p = Projectile(self.pos.x, self.pos.y, p_velocity, self.screen)
# What next?
Подробнее здесь: https://stackoverflow.com/questions/412 ... ip-is-faci
Мобильная версия