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

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:

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:

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

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

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¶
Większość typów węzłów i innych typów obiektów w Godot zawierają funkcje wirtualne. Są to funkcje które zostaną wywołane (kod będzie uruchomiony) gdy coś się stanie i będzie możliwe do sprawdzenia w odwołaniach. Funkcje wirtualne są wypisywane po naciśnięciu ikony "Nadpisywane" w panelu funkcji:

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:

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

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

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":

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ł:

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

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ą:

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

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:

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