Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
Przegląd podstawowych założeń Godot¶
Każdy silnik do tworzenia gier bazuje na pewnych pojęciach, abstrakcjach których używasz do budowy swojej aplikacji. W Godot, gra to drzewo węzłów (a tree of nodes), które grupujesz razem na scenach (scenes). Węzły mogą komunikować się między sobą za pomocą sygnałów ( signals).
Oto cztery koncepcje, których się tutaj nauczysz. Przyjrzyjmy się im pokrótce, żeby zobrazować jak silnik działa. W kolejnych rozdziałach, będziesz miał szansę zastosować je w praktyce.
Sceny¶
W Godot dzielisz swoją grę na sceny, które można ponownie wykorzystać. Sceną może być postać, broń, menu w interfejsie użytkownika, pojedynczy dom, cały poziom lub cokolwiek innego, co przyjdzie Ci do głowy. Sceny w Godot można elastycznie dopasować do swoich potrzeb, pełnią rolę zarówno prefabrykatów (prefabs), jak i scen rozumianych jako całość kompozycji przedstawianej graczowi (scen w ujęciu znanym z większości silników do tworzenia gier).
Sceny możesz również zagnieżdżać. Na przykład, możesz najpierw umieścić swoją postać na planszy, a następnie przeciągnąć i upuścić scenę jako dziecko dla Twojej postaci.
Węzły¶
Scena składa się z jednego, lub więcej węzłów (nodes). Węzły to Twoje najmniejsze cegiełki, które układasz w postaci drzewa. Oto przykład, jak za pomocą węzłów, możesz opisać swoją postać w grze.
It is made of a CharacterBody2D
node named "Player", a Camera2D
, a
Sprite2D
, and a CollisionShape2D
.
Informacja
The node names end with "2D" because this is a 2D scene. Their 3D counterparts have names that end with "3D". Be aware that "Spatial" Nodes are now called "Node3D" starting with Godot 4.
Zwróć uwagę na to, że węzły i sceny wyglądają tak samo w edytorze. Kiedy zapiszesz drzewo węzłów jako scenę, będzie ono wyświetlane jako pojedynczy węzeł z jego wewnętrzną strukturą ukrytą w edytorze.
Godot dostarcza obszerną bibliotekę podstawowych typów węzłów, które można łączyć i rozszerzać, aby tworzyć węzły o większych możliwościach. 2D, 3D lub interfejs graficzny dla użytkownika - większość rzeczy wykonasz właśnie za pomocą tych podstawowych węzłów.
Drzewo scen¶
Wszystkie sceny gry łączą się w drzewo scen (scene tree), jest to dosłownie drzewo składające się ze scen. Ponieważ sceny są drzewami złożonymi z węzłów, drzewo scen jest również drzewem węzłów. Ale łatwiej jest myśleć o grze w kategoriach scen, ponieważ mogą one opisywać postacie, broń, drzwi lub interfejs użytkownika.
Sygnały¶
Węzły wysyłają sygnały w reakcji na jakieś zdarzenie. Ta funkcja umożliwia komunikację między węzłami, bez konieczności dodawania wzajemnych referencji w kodzie (brak wiązania na sztywno - patrz SOLID principle). Zapewnia to dużą elastyczność w zakresie tego, jak możesz scenę ułożyć.
Informacja
Signals are Godot's version of the observer pattern. You can read more about it here: https://gameprogrammingpatterns.com/observer.html
Dla przykładu, przyciski wysyłają sygnał po naciśnięciu. Możesz podłączyć się do tego sygnału, aby uruchomić kod w reakcji na to zdarzenie, np. uruchomić grę lub otworzyć menu.
Inne, obecne w Godot sygnały mogą poinformować Cię, kiedy zderzyły się dwa obiekty, kiedy postać lub potwór wszedł na dany obszar i wiele, wiele więcej. Możesz także zdefiniować własne sygnały, skrojone na potrzeby Twojej gry.
Podsumowanie¶
Węzły, sceny, drzewo scen i sygnały to cztery podstawowe pojęcia w Godocie, którymi będziesz cały czas żonglować.
Węzły to najmniejsze elementy składowe Twojej gry. Łączysz je, aby utworzyć sceny, sceny łączysz i zagnieżdżasz na drzewie scen. Następnie używasz sygnałów, aby węzły mogły reagować na zdarzenia zaistniałe w innych węzłach bądź innych gałęziach drzewa scen.
Po tym krótkim podsumowaniu prawdopodobnie masz mnóstwo pytań. Bądź cierpliwy, bo w serii dla początkujących otrzymasz wiele odpowiedzi.