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).

../../_images/key_concepts_main_menu.webp

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.

../../_images/key_concepts_scene_example.webp

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.

../../_images/key_concepts_character_nodes.webp

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.

../../_images/key_concepts_node_menu.webp

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.

../../_images/key_concepts_scene_tree.webp

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ć.

../../_images/key_concepts_signals.webp

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.