Vertraut werden mit visuellem Skripten

Wie bei allem in Godot legen wir Wert auf eine gute Erfahrung gegenüber dem Kopieren oder Integrieren von Lösungen von Drittanbietern, die möglicherweise nicht gut in den aktuellen Arbeitsablauf passen. Dies führte uns dazu, eine eigene Version davon zu schreiben, wie diese visuelle Editor unserer Meinung nach am besten mit der Engine funktioniert.

In Godot passt ein visuelles Skript problemlos mit regulären Skripten auf der Editor Registerkarte zusammen

../../../_images/visual_script1.png

Tatsächlich lässt sich visuelles Skripten so gut in Godot integrieren, dass es kaum zu glauben ist, dass es erst in Version 3.0 hinzugefügt wurde. Dies liegt daran, dass sich die restlichen Godot-Bedienfelder und -Docks beim Bearbeiten wie eine Palette verhalten, von der aus Sie alle möglichen Informationen per Drag & Drop auf den Skriptbereich ziehen können:

../../../_images/visual_script2.png

Erstellen eines Skripts

Das Erstellen von Skripten funktioniert genauso wie bei anderen Skriptsprachen: Wählen Sie einen beliebigen Node in der Szene aus und klicken Sie auf die Schaltfläche "Neues Skript" in der oberen rechten Ecke des Szenenbaum-Docks:

../../../_images/visual_script3.png

Nach dem Öffnen muss der Skripttyp "VisualScript" aus der Dropdown-Liste ausgewählt werden. Die Skripterweiterung muss ".vs" sein (für Visuelles Skript!).

../../../_images/visual_script4.png

Schließlich wird der Skript-Editor geöffnet, mit dem Sie mit der Bearbeitung des visuellen Skripts beginnen können:

../../../_images/visual_script5.png

Hinzufügen einer Funktion

Im Gegensatz zu anderen Implementierungen von visuellen Skripten basiert dies in Godot stark auf Funktionen. Dies liegt daran, dass für die Kommunikation mit der Engine dieselbe Schnittstelle verwendet wird wie für andere Skript-Engines. In Godot ist die Skriptschnittstelle universell und alle Implementierungen entsprechen dieser.

Eine Funktion ist ein einzelnes Element mit verbundenen Nodes.

Ein einzelnes Skript kann viele Funktionen enthalten, von denen jede ein eigenes Element hat, was mehr Organisation ermöglicht.

Es gibt drei Hauptwege um Funktionen in einem Skript hinzuzufügen:

Überschreiben einer virtuellen Funktion

Die meisten Node-Typen und andere Objekttypen in Godot enthalten virtuelle Funktionen. Dies sind Funktionen die aufgerufen werden (also Ihren Code ausführen), wenn etwas passiert, und die in der Referenz nachgeschlagen werden können. Virtuelle Funktionen werden aufgelistet, wenn Sie im Mitglieder-Panel auf das Symbol "Überschreiben" klicken:

../../../_images/visual_script6.png

Im folgenden Beispiel wird eine Funktion ausgeführt, wenn der Node geladen und zur laufenden Szene hinzugefügt wird. Dazu wird die virtuelle Methode _ready() überschrieben:

../../../_images/visual_script7.png

Schließlich wird für diese Funktion eine Zeichenfläche mit dem Überschriebenen angezeigt:

../../../_images/visual_script8.png

Da einige Funktionen einen Rückgabewert erwarten, fügen sie auch einen Rückgabe-Node hinzu, dem dieser Wert übergeben werden soll:

../../../_images/visual_script9.png

Ein Signal mit einer Funktion verknüpfen

Nodes in einem Baum senden Signale aus wenn etwas passiert. Godot verwendet Signale für alle möglichen Dinge. Ein typisches Beispiel wäre eine Taste, die beim tatsächlichen Drücken ein "gedrückt" -Signal ausgibt.

Dazu muss ein Node ausgewählt und die Registerkarte Nodes geöffnet werden. Dadurch können die Signale überprüft werden. Sobald sie angezeigt werden, verbinden Sie das "gedrückt" Signal:

../../../_images/visual_script10.png

Dies öffnet den Verbindungsdialog. In diesem Dialogfeld müssen Sie den Node auswählen, an dem das Signal angeschlossen werden soll und die Funktion, die das Signal empfängt:

../../../_images/visual_script11.png

Wenn sie dies richtig gemacht haben, wird eine neue Funktion in unserem Skript erstellt und automatisch ein Signal damit verbunden:

../../../_images/visual_script12.png

Eine Funktion eigenhändig erstellen

Der letzte Weg eine Funktion zu erstellen ist manuell. Im Allgemeine geschieht dies nicht sehr häufig, außer es ist unbedingt notwendig. Benutzerdefinierte Funktionen werden verwendet wenn ein anderes (oder das selbe) Skript sie manuell aufruft. Der hauptsächliche Anwendungsfall hierfür ist das Aufteilen großer Funktionen in kleiner, überschaubarere Abschnitte und die Wiederverwendung ihres visuellen Codes.

Um eine eigene Funktion zu erstellen, drücken Sie den großen "Plus" Knopf und eine neue Funktion mit einem Standardnamen wird hinzugefügt:

../../../_images/visual_script13.png

Dies erzeugt eine neue Funktion, die mit einem einfachen Doppelklick auf deren Namen umbenannt werden kann:

../../../_images/visual_script14.png

Um die "Argumente" zu bearbeiten, die diese Funktion erhalten kann (die Werte die Sie beim Aufrufen dieser Funktion an sie übergeben), klicken Sie einfach auf den Funktions-Node und überprüfen Sie den Inspektor:

../../../_images/visual_script15.png

Weitere Details werden später in diesem Dokument erklärt.