2011. június 15., szerda

GameMaker - 9. lecke

Ez előző leckében az megcsináltuk, hogy a játékos a <Space> gomb megnyomásával tudjon lőni. Itt letöltheted a példafájlt melyet az előző leckében készítettünk. Biztosan észrevettétek, hogy a lövedék a játékos fölé kerül. Ez azért van, mert a játékos x és y koordinátája mellett van egy úgynevezett mélység változója. A Depth határozza meg az adott Object mélységét a képernyőn, ha úgy tetszik ezzel állíthatjuk be a képernyőn megjelenő Sprite-ok sorrendjét. Alapértelmezetten a Depth mindig 0, azonban ha ezt az értéket növelem akkor hátrébb kerül a képernyőn. Pl.: a 0 Depth az előrébb van mint a 10 Depth.

Meg akarjuk csinálni, hogy a lövedék az obj_player alá kerüljön, ezért a Depth-ét nagyobbra  kell állítani mind az obj_player Depth-e. Ezt úgy tehetjük meg, hogy megnyitjuk az obj_bullet tulajdonságait és a baloldalt a név és a Sprite alatt megtaláljuk a Depth mezőt. Ide írjunk esetünkben a 10-es számot.


Ezután az OK gomb segítségével zárjuk be az obj_bullet tulajdonságait és mentsük el a játékot. Ezután ha játék közben megnyomjuk a <Space> gombot, a lövedék a játékos alá fog keletkezni.
De miért is volt a lövedék a játékos fölött, ha mindkét Object Depth-e 0 volt? Egész egyszerűen azért mert két Sprite-ot nem tud egymásba rakni a játék. Ezért ha két Object Depth-e ugyan annyi akkor mindíg az kerül följebb amelyik később keletkezett. (Esetünkben az obj_bullet.)



Ha bármi problémád akad, vagy kérdésed van az Kapcsolatfelvétel oldalon megtalálod az elérhetőségeimet.

Itt letöltheted a példafájlt melyet elkészítettünk ebben a leckében.

Jó szorakozást a GameMaker-hez, a következő lecke hamarosan érkezik. 

Nincsenek megjegyzések:

Megjegyzés küldése