Da ich gefragt wurde ob ich noch zeigen könnte, wie man das Problem mit dem Schuss (Konkret: dass der Schuss Richtung wechselt wenn der Car die Richtung wechselt) lösen könnte, habe ich hier noch kurz eine kleine Lösung:
1. Im Private-Teil der Klasse TMG die Varible
FRichtung: TAusrichtung; deklarieren.
2. TCar.Schiessen um eine Zeile erweitern:
Delphi-Quellcode:
procedure TCar.Schiessen;
begin
Dec(FMunitionMG);
with TMG.Create(FOrm1.DXSpriteEngine1.Engine)
do
begin
FRichtung := self.FAusrichtung;
// <== diese Zeile ist neu!
x := self.X;
y := self.Y;
end;
end;
3. In der DoMove Methode von TMG die Zeile
case Car.Ausrichtung of
durch
case FRichtung of
ersetzten.