Sceny i węzły

Wprowadzenie

../../_images/chef.png

Wyobraź sobie przez chwilę, że nie jesteś już twórcą gier. Zamiast tego jesteś szefem kuchni! Zmień swój strój na strój kucharza. Teraz zamiast tworzyć gry, tworzysz nowe i pyszne przepisy dla swoich gości.

W jaki sposób szef kuchni tworzy przepis? Przepisy dzielą się na dwie sekcje: pierwsza to składniki, a druga to instrukcje ich przygotowania. W ten sposób każdy może podążać za przepisem i delektować się swoim wspaniałym daniem.

Tworzenie gier w Godocie odczuwa się podobnie. Używanie silnika sprawia wrażenie, jakbyś znajdował się w kuchni. W kuchni tej węzły są jak lodówka pełna świeżych składników do gotowania.

Istnieje wiele typów węzłów. Niektóre pokazują obrazy, inne odtwarzają dźwięk, inne węzły wyświetlają modele 3D itp. Jest ich dziesiątki.

Węzły

Zacznijmy jednak od podstaw. Węzły są fundamentalnym elementem tworzenia gry. Jak wspomniano powyżej, węzeł może wykonywać różne wyspecjalizowane funkcje. Jednak dany węzeł zawsze posiada następujące atrybuty:

  • Ma nazwę.
  • Posiada właściwości które można edytować.
  • Może wywoływać zwrot co każdą klatkę.
  • Może być rozbudowywany (aby mieć więcej funkcji).
  • Może być dodany do innego węzła jako dziecko.
../../_images/tree.png

Węzły mogą mieć inne węzły jako dzieci. Węzły ułożone w ten sposób stają się drzewem.

W Godocie umiejętność takiego układania węzłów, to potężna umiejętność pomagająca w organizowaniu projektów. Ponieważ różne węzły mają różne funkcje, ich łączenie pozwala na tworzenie bardziej złożonych funkcji.

Nie martw się, jeśli jeszcze nie rozumiesz tego. Będziemy wyjaśniać tę sprawę w kolejnych sekcjach. Najważniejszym faktem, o którym należy pamiętać na razie, jest to, że węzły istnieją i mogą być rozmieszczone w ten sposób.

Sceny

../../_images/scene_tree_example.png

Teraz, gdy zdefiniowano pojęcie węzłów, kolejnym logicznym krokiem jest wyjaśnienie, czym jest scena.

Scena składa się z grupy węzłów zorganizowanych hierarchicznie (w sposób drzewiasty). Co więcej, scena:

  • zawsze ma jeden węzeł główny.
  • można zostać zapisane na dysku i wczytane z powrotem.
  • może być instancjonowany (więcej na ten temat później).

Uruchomienie gry oznacza uruchomienie sceny. Projekt może zawierać kilka scen, ale aby gra mogła się rozpocząć, jedna z nich musi być wybrana jako scena główna.

Zasadniczo, Godot jest edytorem scen. Posiada wiele narzędzi do edycji scen 2D i 3D oraz interfejsu, ale edytor opiera się na koncepcji edycji sceny i węzłów, które ją tworzą.

Edytor

Otwórz projekt, który utworzyłeś w Wprowadzenie do edytora silnika Godot, lub stwórz nowy. To uruchomi edytor Godot:

../../_images/empty_editor.png

Jak wspomniano wcześniej, tworzenie gier w Godocie przypomina gotowanie, tak więc otwórz lodówkę i dodaj trochę świeżych węzłów do projektu. Na początek wyświetlimy na ekranie komunikat „Hello World!” (Witaj Świecie!).

By tego dokonać, musimy dodać węzeł Label. Wciśnij przycisk „Dodaj węzeł - dziecko” w lewym górnym rogu interfejsu sceny (ikona „+”). Ten przycisk to główny sposób na dodawanie nowych węzłów do sceny i zawsze będzie on dodawał wybrane węzły jako dzieci obecnie zaznaczonych węzłów (albo, w przypadku pustej sceny, jako „korzeń” węzła).

Informacja

W pustej scenie (bez węzła - korzenia [root node]) interfejs ma kilka opcji, dzięki którym możesz dodać węzeł - korzeń do sceny. „Scena 2D” dodaje węzeł Node2D, „Scena 3D” dodaje węzeł Spatial, „Interfejs Użytkownika” dodaje węzeł Control, a „Węzeł niestandardowy” pozwala ci na wybranie każdego węzła (podobnie jak wciśnięcie przycisku „Dodaj węzeł - dziecko”). Możesz także kliknąć ikonkę gwiazdki, by zobaczyć swoje ulubione węzły.

Pamiętaj, że te ustawienia powstały w celach wygody, nie są jednak obowiązkowe dla różnych typów scen. Nie każda scena 3D potrzebuje węzła Spatial jako swojego głównego, tak samo jak nie każdy interfejs użytkownika lub scena 2D potrzebują węzłów Control i Node2D.

Teraz, by dodać węzeł Label do tej sceny musisz kliknąć przycisk Węzła Niestandardowego lub „Dodaj Węzeł”. W scenach, które nie są puste, możesz użyć przycisku „Dodaj Węzeł”, by utworzyć wszystkie węzły - dzieci.

../../_images/newnode_button.png

Spowoduje to otwarcie okna „Utwórz węzeł”, pokazującego długą listę węzłów, które można utworzyć:

../../_images/node_classes.png

Następnie wybierz węzeł „Label”. Najszybciej będzie skorzystać wyszukiwarki:

../../_images/node_search_label.png

I na koniec, stwórz Label! Wiele się dzieje po naciśnięciu przycisku Utwórz:

../../_images/editor_with_label.png

Najpierw widok zmieni się na tryb 2D (ponieważ Label jest typem węzła 2D), a Label pojawi się w lewym górnym rogu widoku.

Węzeł pokazuje się edytorze drzewa sceny, a właściwości etykiety w doku inspektora.

Następnym krokiem będzie zmiana właściwości „Tekst” etykiety. Zmieńmy to na „Witaj Świecie”:

../../_images/hw.png

Ok, everything’s ready to run the scene! Press the PLAY SCENE Button on the top bar (or hit F6):

../../_images/playscene.png

No i… Wpadka.

../../_images/neversaved.png

Żeby uruchomić scenę, musisz ją najpierw zapisać (Scena -> Zapisz). Możesz użyć dowolnej nazwy, np. Witaj.tscn.

../../_images/save_scene.png

And here’s when something funny happens. The file dialog is a special file dialog, and only allows you to save inside the project. The project root is res:// which means „resource path”. This means that files can only be saved inside the project. For the future, when doing file operations in Godot, remember that res:// is the resource path, and no matter the platform or install location, it is the way to locate where resource files are from inside the game.

Po zapisaniu sceny i naciśnięciu „Uruchom Scenę” ponownie, demo „Witaj Świecie!” powinno działać:

../../_images/helloworld.png

Sukces!

Informacja

Jeśli nie zadziałało a masz monitor o wysokim DPI, przejdź do Projekt → Ustawienia projektu → Display → Window następnie zaznacz Allow Hidpi w zakładce Dpi.

Konfigurowanie projektu

Ok, to jest czas w którym można skonfigurować projekt. Teraz jedynym sposobem, aby uruchomić cokolwiek to uruchomienie bieżącej sceny. Projekty, jednak może mieć kilka scen, więc jeden z nich musi być ustawiona jako główna scena. Jest to scena, który zostanie załadowana, za każdym razem, gdy projekt jest uruchamiany.

Wszystkie te ustawienia są przechowywane w pliku project.godot, który jest plikiem tekstowym w formacie win.ini (dla łatwiejszej edycji). Istnieje kilkadziesiąt ustawień, które można zmienić w tym pliku, aby zmienić w projekcie. Aby uprościć ten proces, program Godot udostępnia okno dialogowe ustawień projektu.

Aby uruchomić okno dialogowe, wybierz Projekt -> Ustawienia projektu. Wypróbuj to.

Po otwarciu okna wybierz scenę główną. Znajdź opcję Aplikacja/Uruchom/Scena Główna i kliknij na nią, aby wybrać «Hello.tscn».

../../_images/main_scene.png

Teraz, po tej zmianie, po naciśnięciu zwykłego przycisku Play (lub F5), ta scena zostanie uruchomiona, bez względu na to, która scena jest aktywnie edytowana.

Okno dialogowe ustawień projektu zawiera wiele opcji, które można zapisać do pliku project.godot i pokazuje ich wartości domyślne. Jeśli zmienisz wartość, po lewej stronie nazwy zostanie zaznaczony haczyk. Oznacza to, że właściwość zostanie zapisana do pliku project.godot i zapamiętana.

Można również dodać własne opcje konfiguracyjne i wczytać je w czasie pracy za pomocą ProjectSettings.

Ciąg dalszy nastąpi…

Ten samouczek mówił o „scenach i węzłach”, ale jak dotąd była tylko jedna scena i jeden węzeł! Nie martw się, następny samouczek będzie poświęcony temu zagadnieniu….