Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Game Maker - Kolizní maska trochu jinak

V přiložené ukázce není vůbec podstatné, jak vypadají sprity. Tlačítko je pěkné a létavci jsou směšní. Já to vím a pozoruhodné je tady zrovna to, co vidět není. Je to animovaná kolizní maska z jiného sprite. S kolizní maskou jsou v GM pořád potíže. Za prvé je v GM defaultně zatrženo Precision, které je v mnoha případech úplně k ničemu. Za druhé, když nakreslíte sprite s průhledností, stínem, glow nebo jinými výtržnostmi, budete muset jeho masku nastavovat v nesmyslném editačním okně, kde nejsou skoro žádné účinné funkce. Došel jsem k závěru, že je nejlepší použít masku z jiného sprite. To funguje naprosto dokonale:

  • váš jakkoliv složitý, stínovaný a klidně i animovaný sprite zduplikujete
  • kopii otevřete v normálním image editoru a části které budou na něco reagovat začmáráte černou tužkou s ostrým okrajem, zbytek potom čistě odgumujete ( vypadá to pracně, ale není ) získáte sprite, který bude mít automatickou masku tak snadno definovatelnou, že to GM zvládne a můžete ji kdykoli snadno prohlížet a upravovat nezávisle na původním sprite
  • v objektu zvolíte jako zdroj masky tuto upravenou kopii

Teď si asi řeknete, že to přece není žádný objev. Jenže se zamyslete nad použitím. V přiložené ukázce je vidět létavce, kteří reagují na kolizní masku z jiného než vlastního sprite a podle toho se rovnají v ploše. Tlačítka zase využívají masku k tomu, aby objekt rozlišil klik na čast s plusem a mínusem. Jeden snímek má masku na plusu, druhý na mínusu a těsně před testem se masky přepínají. V jediném objektu je pak najednou několik odpovědí na event LeftMouseRelease. Přiložený gmk zdroják si dobře projděte, jsou tam vidět i další věci. Je tam např. použit jedenáctý alarm na přepsání hodnot z parent objektu. Je velice užitečné, když si k alarmům určíte nějaký obvyklý obecný význam. Např. když Alarm0 bude vždycky pro Destroy(). Z ukázky si můžete vykuchat sprite tlačítka – je pěkné a přitom je nakreslené ručně v Image Editoru z Game Makeru. Když vytáhnete pomocí. gmres celý parent objekt, můžete tlačítka jen sypat.

Vyzkoušejte si podle svého uvážení.


 

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 256x (18.43 kB)
Aplikace je včetně zdrojových kódů v jazyce GameMaker

 

Všechny články v sekci
GameMaker - Ostatní
Článek pro vás napsal TomBen
Avatar
Uživatelské hodnocení:
1 hlasů
-
Aktivity