Sorry ich war mir nicht ganz sicher mit der Kategorie aber da es aus einem Spiel kommt und sich vielleicht anwendungsbezogen auch ganz anders lösen lässt hab ichs mal hier reingestellt (in der Hoffnung, dass sich hier ein Spieleprogger findet der das gleiche Problem hatte).
Also; es geht um ein 2D-Point'n'Klick-Adventure bei dem man an bestimmte Stellen des Screens klicken kann. der Charakter läuft dann an die entsprechende Stelle. Wenn man während er unterwegs ist eine andere Stelle anklickt läuft er direkt dahin. Ich habe das realisiert indem ich eine TPoint Variable (Ziel) genommen habe und die bei einem Klick auf die entsprechenden Koordinaten gesetzt habe. Ein Timer verschiebt das Bild des Charakters immer einen Schritt in Richtung Ziel. Soweit klappt das auch ganz gut nur will ich jetzt manchmal folgendes machen: Laufe dahin, wenn du angekommen bist tue...
Das Hab ich folgendermaßen versucht:
Delphi-Quellcode:
Ziel := TempZiel;
result := false;
repeat
application.processmessages;
if Ziel <> TempZiel then exit;
until Position = Ziel;
result := true;
Leider wird der Timer nicht im Application.processmesasages ausgelöst -> Das Spiel hängt sich in einer Endlosschleife auf, Die Figur bewegt sich keinen Milimeter
Ich hoffe das war jetzt nicht zu kompliziert und irgendjemand da draußen kann mir helfen
[edit=sakura] Leerzeichen in den Titel eingefügt. Mfg, sakura[/edit]