C++ "Schussbewegung"

Professor Frink

PCGHX-HWbot-Member (m/w)
Moin Leute,
folgendes Problem, bin am verzweifeln :D
Ist wohl eher Grundlagenmathematik.
Ich habe die Koordinaten einer Figur und der Mausposition in einem 2D-Koordinatensystem. Wenn ich jetzt klicke soll sich von den Figurkoordinaten ein Sprite in Richtung der Mauskoordinaten bewegen dort aber nicht stoppen sondern weiterlaufen.
Also Quasi eine Schleife in der sich der Schuss alle 10ms ein Stück weiterbewegt. Wie kriege ich das hin ?
Sitz grad am falschen Rechner, kann euch also meinen Code net geben, der war allerdings auch Müll :ugly:

Frink
 
Ich würde das bewegliche Sprite als Objekt mit Position und Geschwindigkeit als Attribute realisieren. Die Position updatet sich immer selbständig und die Geschwindigkeit bleibt einfach konstant (ggf. bis das Sprite den Bildschirm verlässt und gelöscht wird).

Den Betrag der Geschwindigkeit willst du sicher vorher festlegen, die Richtung berechnest du über die beiden Positionen. Einfach richtung_x = (x_figur - x_maus)/sqrt((x_figur - x_maus)² + (y_figur - y_maus)²) und für richtung_y entsprechend. Den Geschwindigkeitsbetrag gewichtest du dann entsprechend dem Richtungsvektor.
 
Zurück