Felhasználói eszközök

Eszközök a webhelyen


tanszek:oktatas:jatek_prototipusok:jatek_prototipusok:rpg_tutorial

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

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 ela 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,
tanszek/oktatas/jatek_prototipusok/jatek_prototipusok/rpg_tutorial.1665323344.txt.gz · Utolsó módosítás: 2022/10/09 13:49 szerkesztette: kissa