Damit setzt den den Counter wieder zurück und das ganze fängt von vorne an. Wenn du innerhalb der Schleife noch dx veränderst, musst du evtl das am anfang zwischenspeichern und später wieder auf diesen wert zurückgehen. Ansonsten sollte es aber so funktionieren, denn eine for-schleife macht nichts anderes als:
am Anfang den ersten befehl ausführen (m = 0), dann das zweite überprüfen (quasi wie if m < dx), dann das ausführen, was du innen reinschreibst (zwischen die geschweiften klammern) und dann das letzte machen (m += 1). Wenn du den ersten befehl manuell nochmal ausführst, wird das ganze "resettet".
“Computers are good at following instructions, but not at reading your mind.” (Donald Knuth)
vielleicht, weils dadurch zu ner endlosschleife wird und der stepevent nie endet?
In welchem falle würde den script[m] wieder ein anderer string zugewiesen? Dies müsste noch innerhalb der for schleife geschehen, damit sie nicht als endlosschleife endet.
solang die forschleife ausgeführt wird, kommt das mouseevent nicht dran...
du kannst ja einfach per gmlcode abfragen ob die maustaste gedrückt wird.
Aber wieso soll den eine schleife für ungewisse zeit ausgeführt werden?
Dir is klar, das das Spiel für diese Zeit 100% CPU Auslastung verursacht?
Wenn du aber immer wenn script[m] = "return()" ist die Schleife neu startest gibts trotzdem ne endlosschleife. Deshalb war die Frage ob du in der Schleife script[m] veränderst, zumindest wenn es "return()" hat.
Nein, wenn die Schleife auf return() kommt
(vorher passiert etwas anderes) soll das ja
eine Endlosschleife für prinzipiell jedes Objekt
das man will, werden.
ahja... es war also dein ziel ne endlosschleife zu erzeugen?
falls du das noch nicht verstanden hast: Eine endlosschleife ist endlos und hört nie auf... alles andere drumherum kann daher nicht mehr ausgeführt werden. Selbst wenn dadurch mehrere endlosschleifen entstehen, wird nur die, die als erstes aufgerufen wird ausgeführt.
So was doofes...
Ich dachte mir nämlich, für mein neues Projekt, dass
man Objekte selbst Scripten kann. So, nun habe ich
die Teile in einem Array (script[]) gespeichert und wenn
man auf das Objekt "run" klickt, sollen sie ausgeführt
werden.Klappt auch Alles, aber wenn man nun einstellt,
dass das Objekt einen Keis "fährt", dann müsste man,
wenn der Kreis zuende ist, nochmal auf "run" klicken.
Dafür sollte dann return() gut sein... Gibt's dafür alter-
nativen?
EDIT:
Entschuldigung, aber hilft mir niemand mehr?
Magical dream time!
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Megamag ()
Wenn ich dein Problem jetzt richtig verstanden habe, dann wirde es doch reichen, wenn du die Startposition speicherst, und dann wenn das Objekt wieder ankommt, oder alternativ wenn es stehen bleibt, es die Bewegung noch einmal macht.
Mach doch dazu eine Abfrage in den Step Event, ob die Position erreicht ist, oder das Objekt stehen bleibt. In welcher das Skript gestartet wird, dadurch sollte der Rest dann auch weiter laufen.
Ich hoffe ich konnte dir helfen aber ich bin nicht sicher ob ich das Problem richtig verstanden habe.
Ja, nun, wie ich sagte, kann man
den Chara selbst skripten und return()
wiederholt Alles. Naja, das heißt der
Chara kommt nicht zwangsläufig wieder
auf der genannten "Startposition" an...