# AKtion

Die Vorgehensweise um ein Objekt über das Skript anzusteuern geschieht über eine Aktion. Diese Aktion sieht in der Regel folgendermaßen aus:

`

    ACTION name
    {
    // Initalisierungszeilen (wenn nötig)
    	WHILE(1)
    	{
    	// Abarbeitungszeilen bei jedem Frame
    	WAIT(1);
    	}
    }

`

Der Aktionsblock wird durch das Schlüsselwort "ACTION" eingeleitet. Gefolgt von einem Namen, der die Aktion beschreibt und der nach den Syntaxregeln ausgesucht werden muss. Durch die geschweifte Klammer "{" wird der Programmblock eingeleitet und durch die geschweifte Klammer "}" am Ende des Programmblockes beendet. Alles innerhalb dieser beiden Klammern beschreibt die Aktion.

Manchmal werden Initaisierungszeilen benötigt, die nur einmal bei Programmstart bestimmte Variablen setzt oder sonstige Initalisierungsarbeit leistet.

Der Aktionsblock wird nur einmal bei Programmstart gestartet, hierdurch ist es nötig eine Programmschleife in die Aktion einzubinden.

Dies geschieht durch den WHILE Befehl, der eine Programmschleife einleitet. Hinter dem Befehl steht in runden Klammern "( )" eine Bedingung. Fällt diese Bedingung mit wahr oder gleich 1 aus, wird der Schleifenblock abgearbeitet und im Anschluss, die Bedingung erneut überprüft. Fällt bei der erneuten Prüfung die Bedingung wieder positiv aus, wird der Schleifenblock ein weiteres Mal abgearbeitet.

Durch die geschweifte Klammer "{" wird der Schleifenblock eingeleitet und durch die geschweifte Klammer "}" am Ende des Schleifenblockes beendet. Da wir in unsere WHILE-Schleife, in den Klammern eine 1 geschrieben haben, wird diese Schleife bis zum Beenden des Programms abgearbeitet und hierdurch nie verlassen. Bei jedem Frame, also bei jedem Bildwechsel, werden alle Programmblöcke bis zum Schluss abgearbeitet.

Da wir aber eine Endlosschleife in dieser Aktion haben, würde dies zu einem Fehler führen. Dies verhindern wir dadurch, dass wir in den Schleifenblock einen WAIT Befehl eingefügt haben, der die Abarbeitung für die in Klammern stehende Anzahl von Frames unterbricht. Wir haben hier den Wert von 1 gewählt, um so den Schleifenblock einmal pro Frame abzuarbeiten. Das oben stehende Beispiel stellt nur die Grundstruktur dar.