Title: Objects and multiple scripts
Course: Creating Games Classroom - Games im Unterricht > Section: Game Play Programming GDevelop mit JavaScript

Bisher hat sich unsere ganze Entwicklung in einem Skript abgespielt. Für komplexere Spiele wird es hilfreich sein, weitere Skripte zu erstellen und einzubinden auch um das Spiel Wartbar und erweiterbar zu halten. Den Zugriff auf diese Skripte stellen wir über Objekte her.

in diesem Tutorial werden wir die UI in ein separates Skript auslagern.

Bisher hat sich unsere ganze Entwicklung in einem Skript abgespielt. Für komplexere Spiele wird es hilfreich sein, weitere Skripte zu erstellen und einzubinden auch um das Spiel Wartbar und erweiterbar zu halten. Den Zugriff auf diese Skripte stellen wir über Objekte her.

in diesem Tutorial werden wir die UI in ein separates Skript auslagern.

- Erstelle ein neues Sprite Objekt mit dem Namen uiController und ziehe ihn in die Szene
- Erstelle ein neues Eventsheet bei den External Events und nenne es uiController und binde es in Deine Hauptszene ein, in der Dein Spiel läuft.
- Öffne das neue Eventsheet uiController und erstelle einen neuen JavaScript Block.
- Damit das neue Skript auch vom alte gefunden wird, muss es dort noch verlinkt bzw. inkludiert werden. Gehe zu Deinem bisherigen Skript und verlinke den uiController mit diesem. Achte darauf, dass der Inlcude events from Block ganz oben vor Deinem Code liegt.
- Verschiebe die Funktion isClicked sowie den Code zur Abfrage der Buttons in dem isClicked verwendet wird in das uiController Skript.
- Verschiebe die Variablen variablen btn_start und btn_quit ebenfalls in den uiController.
- Erweitere den uiController um eine public Methode isClicked und ersetze damit die kopierte isClicked Funktion.
Die Methode muss einmalig bei Spielstart (isFirstFrame()) deklariert werden.
- Ändere alle Aufrufe von isClicked() zu uiController.isClicked() um die neue Funktion zu verwenden.

Optional

- Erweitere den uiController um zwei weitere Methoden
  - showRestartMenu
  - hideRestartMenu
- Ersetze mit den neuen Methoden die bisherigen Ausdrücke zum Ein- und Ausblenden des Layer MenuStart.