Wprowadzenie do Visual Scripting

Tak jak w przypadku wszystkiego, co znajduje się w Godocie, przedkładamy dobre doświadczenia nad kopiowanie lub integrowanie rozwiązań innych firm. To skłoniło nas do napisania własnego języka, który będzie bardzo dobrze integrował się z silnikiem.

W Godocie Visual Script dobrze wpasowuje się razem ze zwykłymi skryptami w zakładkę w Edytorze

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

W rzeczywistości, Visual Scripting tak dobrze integruje się z Godotem, że trudno uwierzyć, że został dodany dopiero w wersji 3.0. Dzieje się tak dlatego, że podczas edycji pozostałe panele i doki Godota działają jak paleta, z której można przeciągnąć i upuścić różnego rodzaju informacje na płótno skryptu:

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

Creating a script

Tworzenie skryptów działa tak samo jak w przypadku innych języków skryptowych: Zaznacz dowolny węzeł sceny i naciśnij przycisk "Nowy skrypt" w prawym górnym rogu okna drzewa sceny:

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

Po jego otwarciu z listy rozwijanej należy wybrać skrypt typu "Visual Script". Rozszerzeniem skryptu musi być ".vs" (dla Visual Script!).

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

Finally, the Script Editor will open, allowing you to start editing the visual script:

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

Adding a function

W przeciwieństwie do innych implementacji visual scripting, skrypty wizualne w Godot w dużej mierze opierają się na funkcjach. Dzieje się tak dlatego, że używa tego samego interfejsu do komunikacji z silnikiem, co inne silniki skryptowe. W Godot interfejs skryptowy jest uniwersalny i wszystkie jego implementacje są z nim zgodne.

Funkcja to pojedyncze płótno z podłączonymi węzłami.

Pojedynczy skrypt może zawierać wiele funkcji, z których każda będzie miała własne płótno, co pozwoli na lepszą organizację.

Istnieją trzy główne sposoby dodawania funkcji w skrypcie:

Overriding a virtual function

Most types of nodes and other types of objects in Godot contain virtual functions. These are functions that will be called (run your code) when something happens and can be looked up in the reference. Virtual functions are listed when pressing the "Override" icon in the member panel:

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

W poniższym przykładzie funkcja zostanie wykonana po załadowaniu węzła i dodaniu go do uruchomionej sceny. W tym celu metoda wirtualna _ready() zostanie nadpisana:

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

Na końcu pojawi się płótno z tą funkcją, pokazujące nadpisanie:

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

Ponieważ niektóre funkcje oczekują zwrotu wartości, dodają one również węzeł zwrotny, w którym wartość ta ma być podana:

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

Connecting a signal to a function

Węzły w drzewie wysyłają sygnały, gdy coś się dzieje. Godot używa sygnałów do wielu rodzajów rzeczy. Typowym przykładem jest przycisk, który po wciśnięciu emituje sygnał "pressed".

W tym celu należy zaznaczyć węzeł i otworzyć zakładkę Węzeł. Pozwoli to na sprawdzenie sygnałów. Po ich wyświetleniu należy podłączyć sygnał "pressed":

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

Spowoduje to otwarcie okna połączenia sygnału. W tym oknie należy wybrać węzeł, do którego będzie podłączony sygnał, oraz funkcję odbierającą sygnał:

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

Jeśli zostanie to wykonane prawidłowo, w naszym skrypcie zostanie utworzona nowa funkcja i automatycznie zostanie do niej podłączony sygnał:

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

Creating a function manually

The last way to create functions is to do it manually. In general, this is not as common unless you really need it. Custom functions work when another (or the same) script calls them manually. The main use cases for this are breaking a larger function up into several manageable chunks and reusing your visual code.

Aby utworzyć funkcję ręcznie, naciśnij duży przycisk "Plus", a nowa funkcja zostanie dodana z domyślną nazwą:

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

Spowoduje to dodanie nowej funkcji, której nazwę można zmienić poprzez dwukrotne kliknięcie jej nazwy:

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

Aby edytować "argumenty" tej funkcji (wartości, które podajesz przy wywołaniu jej ), po prostu kliknij na funkcję węzła i sprawdź inspektor:

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

Więcej zostanie wyjaśnione później w tym dokumencie.