A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
| Előző változat mindkét oldalon Előző változat Következő változat | Előző változat | ||
|
tanszek:oktatas:jatek_prototipusok:jatek_prototipusok:rpg_tutorial [2022/10/09 13:49] kissa |
tanszek:oktatas:jatek_prototipusok:jatek_prototipusok:rpg_tutorial [2022/10/10 08:38] (aktuális) kissa |
||
|---|---|---|---|
| Sor 192: | Sor 192: | ||
| Akkor dolgoztunk jól, ha 3 másodperc elteltével a konzolon látjuk, hogy különböző id-kkal új ládák kerültek létrehozásra, és a pályán ezek meg is jelentek. | Akkor dolgoztunk jól, ha 3 másodperc elteltével a konzolon látjuk, hogy különböző id-kkal új ládák kerültek létrehozásra, és a pályán ezek meg is jelentek. | ||
| - | {{:jatekproto:chest-spawn.png?400|}} | + | {{:tanszek:oktatas:jatek_prototipusok:jatek_prototipusok:chest-spawn.png?400|}} |
| ==== Ládák begyűjtése ==== | ==== Ládák begyűjtése ==== | ||
| Sor 310: | Sor 310: | ||
| Ha ezután a pályán mozogva a ládák mellett szörnyekkel is találkozunk, jól dolgoztunk: | Ha ezután a pályán mozogva a ládák mellett szörnyekkel is találkozunk, jól dolgoztunk: | ||
| - | {{:jatekproto:monster-spawned.png?400|}} | + | {{:tanszek:oktatas:jatek_prototipusok:jatek_prototipusok:monster-spawned.png?400|}} |
| ===== Harc a szörnyekkel ===== | ===== Harc a szörnyekkel ===== | ||
| Sor 342: | Sor 342: | ||
| A kódban látható, hogy abszolút pozíciója csak a konténernek van, a játékos és a fegyver koordinátái a konténer pozíciójához képest vannak megadva. | A kódban látható, hogy abszolút pozíciója csak a konténernek van, a játékos és a fegyver koordinátái a konténer pozíciójához képest vannak megadva. | ||
| - | A kamerának a továbbiakban nem a player sprite-ot, hanem a playerContainer-t kell követnie, ezt módosítsuk: | + | A kamerának a továbbiakban nem a ''player'' sprite-ot, hanem a ''playerContainer''-t kell követnie, ezt módosítsuk: |
| <sxh js> | <sxh js> | ||
| Sor 348: | Sor 348: | ||
| </sxh> | </sxh> | ||
| - | Módosítanunk kell továbbá az ''updatePlayer'' metódust is, a megfelelő irányú erőket ezután a konténeren helyezzük el a játékos helyett. Amikor jobbra vagy balra mozdulunk, akkor a fegyvert is ennek megfelelően fordítjuk el, illetve helyezzük át. | + | Módosítanunk kell továbbá az ''updatePlayer'' metódust is, a megfelelő irányú erőket ezután magán a konténeren helyezzük el, a játékos helyett. Amikor jobbra vagy balra mozdulunk, akkor a fegyvert is ennek megfelelően fordítjuk el, illetve helyezzük át. |
| <sxh js> | <sxh js> | ||
| Sor 394: | Sor 394: | ||
| }; | }; | ||
| </sxh> | </sxh> | ||
| - | |||
| Következő lépésként egy tween animációt fogunk létrehozni, mely a SPACE billentyű lenyomása esetén a kardot 360°-ban megforgatja. Ehhez az ''updatePlayer'' metódust egészítsük ki a következő sorokkal: | Következő lépésként egy tween animációt fogunk létrehozni, mely a SPACE billentyű lenyomása esetén a kardot 360°-ban megforgatja. Ehhez az ''updatePlayer'' metódust egészítsük ki a következő sorokkal: | ||
| Sor 425: | Sor 424: | ||
| </sxh> | </sxh> | ||
| - | Ezután adjunk egy kezdeti implementációt az ''enemyOverlap'' metódusnak. Ez azt vizsgálja, hogy a játékos támadásban van-e, illetve még nem ütötte meg a szörnyet. Ha a feltétel teljesül, akkor rögzítjük, hogy a játékos megütötte a szörnyet, és a későbbiekben változtatni fogjuk a szörny életerejét (de egyelőre csak egy üzenetet íratunk ki a konzolra). | + | Ezután adjunk egy kezdeti implementációt az ''enemyOverlap'' metódusnak. Ez azt vizsgálja, hogy a játékos támadásban van-e, illetve még nem ütötte-e meg a szörnyet. Ha a feltétel teljesül, akkor rögzítjük, hogy az adott támadás során a játékos megütötte a szörnyet, és a későbbiekben változtatni fogjuk a szörny, valamint a játékos életerejét is (de egyelőre csak egy üzenetet íratunk ki a konzolra). |
| <sxh js> | <sxh js> | ||
| Sor 438: | Sor 437: | ||
| Akkor dolgoztunk jól, ha a szörny támadásakor SPACE billentyű egyszeri lenyomásakor egyszer jelenik meg a konzolon a ''MONSTER HIT!'' üzenet (ennek vizsgálatakor a spawnerek logja zavaró lehet, így azt törölhetjük a kódunkból). | Akkor dolgoztunk jól, ha a szörny támadásakor SPACE billentyű egyszeri lenyomásakor egyszer jelenik meg a konzolon a ''MONSTER HIT!'' üzenet (ennek vizsgálatakor a spawnerek logja zavaró lehet, így azt törölhetjük a kódunkból). | ||
| - | {{:jatekproto:monster-hit.png?400|}} | + | {{:tanszek:oktatas:jatek_prototipusok:jatek_prototipusok:monster-hit.png?400|}} |
| - | A metódusunkat tovább bővítjük, minden ütéskor 1-et levonunk a szörny életerejéből, majd megvizsgáljuk, hogy az 0-ra csökkent-e. Amennyiben igen, a szörnyhöz tartozó pontszámot jóváírjuk a játékosnál (és frissítjük a kijelzést), majd a szörny adatait eltávolítjuk a spawner-ből, és végül magát a sprite-ot is megszüntetjük. | + | A metódusunkat tovább bővítjük, minden ütéskor 1-et levonunk a szörny életerejéből, majd megvizsgáljuk, hogy az 0-ra csökkent-e. Amennyiben igen, a szörnyhöz tartozó coin-okat jóváírjuk a játékosnál (és frissítjük a kijelzést), majd a szörny adatait eltávolítjuk a spawner-ből, és végül magát a sprite-ot is megszüntetjük. |
| <sxh js> | <sxh js> | ||
| Sor 463: | Sor 462: | ||
| Ha jól dolgoztunk, azt kell látnunk a konzolon, hogy minden ütéssel 1-et csökken az ellenség életereje, majd ha elérte a 0-t, a szörny eltűnik és a játékosnál a pontok jóváíródnak. | Ha jól dolgoztunk, azt kell látnunk a konzolon, hogy minden ütéssel 1-et csökken az ellenség életereje, majd ha elérte a 0-t, a szörny eltűnik és a játékosnál a pontok jóváíródnak. | ||
| - | {{:jatekproto:monster-health.png?400|}} | + | {{:tanszek:oktatas:jatek_prototipusok:jatek_prototipusok:monster-health.png?400|}} |
| Most tovább bővítjük az implementációt, amennyiben a szörny nem halt meg, a játékos életerejét is csökkentjük a szörny ''attack'' tulajdonságának értékével. Emellett azt is megvizsgáljuk, hogy a játékos életereje 0-ra csökkent-e. Amennyiben igen, a játékot újraindítjuk. | Most tovább bővítjük az implementációt, amennyiben a szörny nem halt meg, a játékos életerejét is csökkentjük a szörny ''attack'' tulajdonságának értékével. Emellett azt is megvizsgáljuk, hogy a játékos életereje 0-ra csökkent-e. Amennyiben igen, a játékot újraindítjuk. | ||
| Sor 496: | Sor 495: | ||
| A konzolon ekkor a szörny és a játékos életerejének csökkenését is látnunk kell. | A konzolon ekkor a szörny és a játékos életerejének csökkenését is látnunk kell. | ||
| - | {{:jatekproto:attack-health.png?400|}} | + | {{:tanszek:oktatas:jatek_prototipusok:jatek_prototipusok:attack-health.png?400|}} |
| - | A játékos életerejét a felhasználó számára is láthatóvá szeretnénk tenni, ennek érdekében a ''UIScene''-t is módosítjuk. A ''create'' metódust új szöveg létrehozásával egészítjük ki: | + | A játékos életerejét a felhasználó számára is láthatóvá szeretnénk tenni, ennek érdekében a ''UiScene''-t is módosítjuk. A ''create'' metódust új szöveg létrehozásával egészítjük ki: |
| <sxh js> | <sxh js> | ||
| Sor 519: | Sor 518: | ||
| A kódból minden ''console.log'' utasítást kitörölhetünk, ezek csak a fejlesztés során voltak segítségünkre. | A kódból minden ''console.log'' utasítást kitörölhetünk, ezek csak a fejlesztés során voltak segítségünkre. | ||
| + | |||
| ===== Továbbfejlesztési lehetőségek ===== | ===== Továbbfejlesztési lehetőségek ===== | ||
| * életerő meghatározott időközönkénti töltése, | * életerő meghatározott időközönkénti töltése, | ||