Skenet ja solmut

Johdanto

../../_images/chef.png

Kuvittele hetki, ettet ole enää pelisuunnittelija. Sen sijaan, olet kokki! Vaihda hipsteriasusi kokinhattuun ja kaksirivinapitettuun kokintakkiin. Nyt, sen sijaan että tekisit pelejä, luotkin uusia ja herkullisia reseptejä asiakkaillesi.

Joten, miten kokki luo reseptinsä? Reseptit on jaettu kahteen osaan: ensin tulevat ainesosat ja toisena ohjeet kuinka valmistaa se. Tällä tapaa kuka tahansa voi seurata reseptiä ja nauttia suurenmoisesta luomuksestasi.

Pelien tekeminen Godotissa tuntuu hyvin pitkälti samalta. Pelimoottorin käyttäminen tuntuu kuin olisi keittiössä. Tuossa keittiössä, solmut ovat jääkaappi täynnä tuoreita aineksia, joista kokata.

Solmuja on montaa tyyppiä. Jotkut näyttävät kuvia, toiset soittavat ääniä, jotkut solmut esittävät 3D-malleja, jne. Niitä on kymmenittäin.

Solmut

Mutta aloitetaan perusteista. Solmut ovat pelin luomisen keskeisiä rakennuspalikoita. Kuten mainittu ylempänä, solmu voi suorittaa moninaisia erikoistuneita toimintoja. Joka tapauksessa, millä tahansa solmulla on aina seuraavat piirteet:

  • Sillä on nimi.
  • Sillä on muokattavia ominaisuuksia.
  • Se voi saada vastakutsun (callback) käsiteltäväksi jokaisella ruudulla.
  • Sitä voidaan laajentaa (jotta se voi saada lisää funktioita).
  • Se voidaan lisätä toisen solmun alisolmuksi.
../../_images/tree.png

Viimeisin on tärkeää. Solmuilla voi olla muita solmuja alisolmuina. Tähän tapaan järjestettynä solmuista muodostuu puu.

Mahdollisuus järjestää solmuja tähän tapaan Godotissa luo tehokkaan työkalun projektien organisoimiseksi. Koska erilaisilla solmuilla voi olla erilaisia toimintoja, niiden yhdistäminen mahdollistaa vielä monimutkaisempien toimintojen luomisen.

Älä murehdi, jos tämä ei vielä loksahda. Jatkamme tämän tutkiskelua muutamien seuraavien lukujen ajan. Tärkein asia toistaiseksi muistaa on, että solmuja on olemassa ja että niitä voidaan järjestää tähän tapaan.

Skenet

../../_images/scene_tree_example.png

Nyt kun solmujen käsite on määritetty, seuraava looginen askel on selostaa mikä Skene on.

Skene muodostuu joukosta solmuja hierarkisesti järjestettynä (puun tapaan). Lisäksi:

  • on aina yksi juurisolmu.
  • Skene voidaan tallentaa levylle ja ladata takaisin.
  • Skenestä voidaan luoda ilmentymiä (siitä lisää myöhemmin).

Pelin ajaminen tarkoittaa skenen ajamista. Projekti voi sisältää useita skenejä, mutta jotta peli voi käynnistyä, yksi niistä täytyy valita pääskeneksi.

Pohjimmiltaan Godotin editori on skene-editori. Siinä on runsaasti työkaluja 2D- ja 3D-skenejen sekä käyttöliittymien editointiin, mutta editori pohjautuu skenejen ja solmujen editoinnin periaatteeseen.

Editori

Open the project you made in Introduction to Godot's editor, or create a new one. This will open the Godot editor:

../../_images/empty_editor.png

Kuten mainittu aiemmin, pelien luonti Godotissa tuntuu kuin olisi keittiössä, joten avataanpa jääkaappi ja lisätää projektiin muutama tuore solmu. Aloitamme "Hello World" viestillä, jonka asetamme ruudulle.

To do this we need to add a Label node. Press the "Add Child Node" button at the top left of the scene dock (the icon represents a plus symbol). This button is the main way to add new nodes to a scene, and will always add the chosen node as a child of the currently selected node (or, in an empty scene, as the "root" node).

Muista

In an empty scene (without root node), the scene dock shows several options to quickly add a root node to the scene. "2D Scene" adds a Node2D node, "3D Scene" adds a Spatial node, "User Interface" adds a Control node, and "Other Node" which lets you select any node (so it is equivalent to pressing the "Add Child Node" button). You can also press the star-shaped icon to toggle the display of your favorited nodes.

Note that these presets are here for convenience and are not mandatory for the different types of scenes. Not every 3D scene needs a Spatial node as its root node, likewise not every GUI or 2D scene needs a Control node or Node2D as their root node.

Now, to add a label node to this scene you can click on the Other Node button or the Add Node button at the top. In scenes that aren't empty you use the add node button to create every child node.

../../_images/newnode_button.png

Tämä avaa Luo solmu -ikkunan, näyttäen pitkän luettelon solmuista, joita voidaan luoda:

../../_images/node_classes.png

Sieltä, valitse ensin "Label" solmu. Hakeminen on luultavasti nopein tapa löytää se:

../../_images/node_search_label.png

Ja lopulta, luo Label-solmu! Paljon tapahtuu, kun Luo-painiketta painetaan:

../../_images/editor_with_label.png

Ensinnäkin, skene vaihtuu 2D-editoriin (koska Label on 2D-tyyppinen solmu), ja Label ilmestyy valittuna ikkunan oikeaan yläkulmaan.

The node appears in the scene tree editor in the Scene dock, and the label properties appear in the Inspector dock.

Seuraava toimenpide on muuttaa viestin "Text" ominaisuutta. Muutetaanpa siihen "Hello, World":

../../_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

Jaaaaa... Hups.

../../_images/neversaved.png

Kohtaukset on tallennettava ennen kuin ne voidaan suorittaa, joten Tallenna kohtaus Hello. tscn Kohtaus -> Tallenna:

../../_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.

Tallennettuasi skenen ja painettuasi uudelleen Pelaa, "Hello World" esimerkin pitäisi viimein toimia:

../../_images/helloworld.png

Onnistui!

Muista

Jos tämä ei välittömästi toimi ja sinulla on hiDPI näyttö vähintään yhdessä sinun monitoreista, mene Project → Project Settings → Display → Window ja aktivoi Allow Hidpi **Dpi**n alta.

Projektin määrittäminen

Ok, on aika määrittää projekti. Juuri nyt, ainoa tapa ajaa jotakin on käynnistää nykyinen skene. Projekteilla voi kuitenkin olla useita skenejä, jo yksi niistä täytyy valita pääskeneksi. Se on se skene, joka ladataan, kun projekti ajetaan.

Kaikki nämä asetukset tallennetaan project.godot tiedostoon, joka on win.ini muotoinen tekstitiedosto (helppoa muokkausta varten). Tiedostossa on kymmenittäin muokattavia asetuksia, jotka määrittävät kuinka projekti suoritetaan. Prosessin yksinkertaistamiseksi Godot tarjoaa projektin asetuksille ikkunan, joka toimii eräänlaisena edustana project.godot tiedoston muokkaamista varten.

Dialogin pääsee valitsemalla valikosta Projekti -> Projektin asetukset. Kokeile sitä nyt.

Kunhan ikkuna aukeaa, valitkaamme pääskene. Etsi Application/Run/Main Scene ominaisuus ja napsauta sitä valitaksesi 'Hello.tscn' tiedoston.

../../_images/main_scene.png

Nyt, tämän muutoksen myötä, kun painat tavallista Pelaa-painiketta (tai F5), skene ajetaan riippumatta siitä mitä skeneä ollaan aktiivisesti muokkaamassa.

Projektin asetukset -ikkuna tarjoaa paljon valintoja, jotka voidaan tallentaa project.godot tiedostoon, ja näyttää niiden oletusarvot. Jos muutat arvoa, sen nimen vasemmalle puolelle asetetaan pukki merkiksi siitä. Se tarkoittaa, että ominaisuus tallennetaan project.godot tiedostoon ja muistetaan.

Sivuhuomautuksena, asetuksiin on myös mahdollista lisätä räätälöityjä valintoja ja lukea ne ajonaikaisesti käyttämällä ProjectSettings singletonia.

Jatkuu...

Tämä opas kertoi "skeneistä ja solmuista", mutta tähän saakka niitä on ollut vain yksi skene ja yksi solmu! Älä huoli, seuraava opas kertoo enemmän siitä...