Ütők létrehozása

A Godot Engine alapjai - I. Pong
2021-06-06 · 22:51
Most, hogy a pályánk már készen van, elkezdhetjük feltölteni a játékszerekkel. Első lépésként hozzuk létre az ütőket.


Ütő létrehozása


Hozzunk létre egy új scene-t, az előző fejezetben megismert módon, de ezúttal ne a 2D Scene-t válasszuk, hanem az Other Node-ot, a felugró ablakban válasszuk a KinematicBody2D-t, majd a létrejött node-ot nevezzük el "Uto"-nek és mentsük is el.

Szokás szerint adjunk hozzá egy formát, ismét CollisionShape2D-t használva. Válasszuk ki a New RectangleShape2D-t, majd ismét kattintsunk rá. Az extents értéke legyen a következő: (x: 20; y: 100).
Ezzel meg is van a formája az ütőnknek, de ettől a játékban még nem lesz látható - a CollisionShape2D és CollisionPolygon2D csak a fejlesztőt segíti, általában csak hibakereséshez teszik őket láthatóvá.

Hozzunk létre egy fehér téglalapot. Kattintsunk ismét az Uto-re és adjunk hozzá egy ColorRect node-ot. A zöld ikonból látható, hogy ez egy Control Node, ami kicsit másként működik, mint az eddig használt 2D Node-ok (kék ikon). Az origó itt a bal felső sarokban van (a 2D Node-okban középen). Így itt méretezésnél nem kell osztanunk kettővel.

A ColorRect node-ot kijelölve, a jobb oldali panelen nyissuk ki a Rect mezőt és adjuk meg Size-nak a következő értékeket: (x: 40; y: 200).
Így már ugyanakkora lesz a fehér téglalapunk is, mint a "fizikai" mérete. Ahhoz, hogy ne a fizikai téglalap közepéből lógjon ki, adjuk meg a Position mezőben az alábbi értékeket: (x: -20; y: -100) - azaz, a téglalap méretének a felével eltoljuk azt balra és fel. Ezzel el is készült az ütőnk.

Az iskolában használt koordináta rendszerrel ellentétben itt az y tengely felfelé negatív, lefelé pozitív. Az x tengely nem változik: balra negatív, jobbra pozitív.



Ütő hozzáadása a pályához


Térjünk vissza a Palya nevű scene-re (ne feljtsük el elmenteni az Uto scene-t előtte). Majd a Palya node-on jobb egérgombbal kattintva válasszuk ki az Instance Child Scene lehetőséget és a felugró ablakból válasszuk ki az előbb létrehozott Uto nevű scene-ünket.

Ezzel egy példányt (instance) adtunk hozzá a pályához, ami rendelkezik az eredeti minden tulajdonságával, de itt úgy tudjuk módosítani az értékeit, hogy az nem befolyásolja az eredetit. A példányok mellett mindig látható egy csapó ikon a scene tree-ben, erre kattintva tudjuk megnyitni az eredeti scene-t.

Nevezzük át a most hozzáadott Uto példányunkat "BalUto"-re és adjuk meg neki az alábbi Position értékeket: (x: 120; y: 360).
Így pont a BalKapu mellé kerül, középre (100 a kapu szélessége + 20 az ütő kiterjedése).

Duplikáljuk a BalUto-t és nevezzük át "JobbUto"-re, majd az előbbi logika alapján a Position "x" értékéhez írjuk be, hogy 1280-100-20, majd nyomjunk [Enter]-t, így az a JobbKapu mellé fog kerülni. Meg is vagyunk.