case Player.richtung of
hi, das is der entscheidene Codeschnipsel, die doMove-prozedur wird ja ständig surchlaufen, wenn sich nun dein spieler dreht, so ist also player.richtung anders, und dem zu folge auch die flugrichtung, du solltest einfach beim erstellen des Feuerballs (am besten mit create-prozedur)
die flugrichtung zuweisen, dann wird diese nur einmal zugewiesen, und der spieler kann sich drehen wie er lustig ist, und der "ball" fliegt schön weiter in seine richtung!
Delphi-Quellcode:
type
TFeuerball=class(TImageSprite)
public
flugrichtung:byte; //nicht optimal wenns in public steht!
procedure erzeugen;
procedure DoMove(MoveCount:integer); override;
end;
procedure TFeuerball.erzeugen;
begin
flugrichtung:=player.richtung;
... //sonstige zuweisungen
end;
dann kannst du immer mit feuerball.flugrichtung arbeiten!
ciao haegar