Mein Problem ist einfach.
Ich habe dieses Raumschiff, das ich bewegen und drehen kann, und ich verfolge bereits seinen Kurs, die Richtung, in die es zeigt. Im Bild unten steuert das Schiff beispielsweise etwa 45 Grad. Es geht von 0° (von oben beginnend und im Uhrzeigersinn) auf 359°

Ich muss nur eine Kugel direkt in die Richtung (Kurs) meines Raumschiffs fliegen lassen ist, ausgehend von der
Code: Select all
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)
Code: Select all
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?
Mobile version