IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
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í.

Library Maker - vlastní ikony do GameMakeru

Protože jsem si dříve všiml nějakého zájmu o tvorbu knihoven pro Game Maker, pokusím se dneska něco k tomu napsat pro případné zvědavce, kteří se nenechají odradit a všechno chtějí zkusit.

Knihovnami se myslí sady ikon naplněných kódem, které se zobrazují v Game Makeru při úpravě objektů. Ty originální nelze změnit, ale můžete si přidat vlastní sadu ikon. Při šikovné práci si můžete ušetřit hodně psaní a výsledek je o poznání přehlednější. Bohužel, když budete chtít poskytnout někomu zdrojové kódy své tvorby, musíte přibalit i všechny použité knihovny, jinak to nemá šanci rozchodit. Určitě se vyvarujte kombinací několika knihoven od různých autorů. Používejte jen dokonale zdokumentované knihovny nebo ty, které jste vytvořili sami. Jinak se vám do programů může vloudit spousta nechtěného kódu. Ať už balast, který jen obtěžuje nebo dokonce vysloveně něco škodlivého.

V první řadě je třeba říct, že vytváření knihoven není snadné a pokud nejste schopni psát v GML (Game Maker Language) minimálně tří stránkové skripty z první vody načisto, tak s Library Makerem nezačínejte. Dá se toho podělat víc, než je možné získat. Pokud jsem vás doteď neodradil a budete přeci jen chtít nějaké své knihovny vytvářet, pokusím se vás provést něčím z toho, co budete potřebovat:

Instalace

( http://sandbox.yoyogames.com/…extmaker.zip -uvnitř balíčku) Já pracuji s verzí 1.3, která je kompatibilní s verzí GM 7.0 a výše. Library Maker musíte stáhnout zvlášť, protože není dodáván spolu s Game Makerem. Neplést prosím s Extension Makerem, který dělá rozšiřující balíčky. Library Maker pracuje výhradně se soubory s koncovkou .lib umístěnými v podsložce /lib instalace GM. Samotný Library Maker do této složky necpěte, je určena pro knihovny. Zálohujte celou tuto složku pokaždé, když se rozhodnete Library Maker použít. Když to neuděláte, nepište mi potom, jak jste si to zkazili a o co všechno jste přišli.

Příprava

Library Maker není na pokusy. Takže si dobře rozmyslete, co chcete v knihovně mít a proč. Nejlépe pokud máte osvědčený kus kódu, který používáte skoro v každém svém výtvoru. Pak bude dobře mít nějaké ikonky stejného provedení jako má Game Maker. Library Maker čte bmp, ico, wmf, emf. Obvyklá velikost je 32x32, vyplněná jednolitou barvou jako pozadí a na tom z levého horního rohu počínaje 24x24 bodů velký obrázek ikony. Nejsnazší je nějakou ikonu vzít a překreslit ji.

Vlastnosti celé knihovny

Knihovny Game Makeru jsou číslované. Ty základní začínají 01_move.lib a končí 07_draw.lib, takže vy budete mít například nějakou svoji 08_My.lib, kterou si založíte novou a prázdnou v Library Makeru. V okýnku Tab caption je název knihovny, který se pak vidí v GM. Initialitzation Code skrývá kód, který se bude spouštět při startu hry jako úplně první. V tlačítku Information jsou vaše autorské poznámky a číslo verze vaší knihovny. Nikdy nepoužívejte v GM nedokončené knihovny k práci! Pokud ve své knihovně používáte funkce dostupné jen v plné verzi GM, označte ji zatržítkem Advanced, aby se jinak nezobrazovala. Pak už jen tlačítkem Add Actions přidáváme jednotlivé položky.

Vlastnosti akcí

Kromě tlačítek dole funguje na akce z menu Cut, Copy, Paste a Merge (vložení akcí z jiné knihovny). Nejdůležitější je zvolit správně typ akce (Kind). Podle toho na vás totiž GM při použití vyplivne interface. Kromě běžného Normal lze zvolit např. šipky uzavírající podmínku nebo prosté odsazení ikon v knihovně (odsazení je přirozeně bez jakéhokoliv kódu). Zvolíte-li v Argument Count nějaké číslo můžete pak používat tento počet vstupních argumentů. Používají se podobně jako třeba u skriptů, jen se musí na začátku zvolit jaký typ proměnné argument bude, aby se mohl interface přizpůsobit. Samotný kód můžete vložit, když dole v oblasti nazvané Execution zvolíte Code. Function by mělo mít rychlejší zpracování, ale je těžší to připravit správně. Volba Nothing prostě nemá žádný kód ( např. komentář ), proto zkoušejte nejprve Code. Pokud je akce chápána jako podmínka, zatrhnete Question a nezapomeňte v kódu vracet 0 nebo 1 pomocí return. Zatržítko Relative otestujete v kódu jako if (argument_relative) { ..., ale pokud to nebude mít zcela jasné použití, raději ho vypněte. Pokuste se dodržovat typ ikon podle typu akce v duchu Game Makerových originálů. Nastavujte popisky Description, List text, Hint text, aby pak akce byla v GM popsána. Lze přitom používat tyto zkratky:

  • # nový řádek
  • @FB tučné písmo (jen pro list text)
  • @FI šikmé písmo
  • @r přidá slovo relative, pokud je příslušné zatržítko zvoleno
  • @N přidá NOT podle zatržítka v podmínkách
  • @w nahrazuje názvem jiného objektu pro který je akce zapnuta
  • @0, @1,... nahrazuje hodnotou příslušného argumentu

DRŽTE SE OTESTOVANÝCH POSTUPŮ. Vzhledem k tomu, že za dokonalou funkčnost za všech okolností nikdo neručí, může se stát, že něco prostě nebude fungovat jak by podle všeho mělo. Postupujte opatrně a všechny funkce testujte na jednoduchém kódu než to použijete na ostro.

Příklad

Teď si otevřete 00_DEVBOOK.lib a prohlédněte si, jak vypadá v Library Makeru a vyzkoušejte, co to dělá v GM. Akce uložené v této knihovně jsou následující:

  • VykresliSprite: Vykreslí aktuální sprite i když je v eventu draw už něco vloženo. Tažení: Když tyhle čtyři ikony rozestrkáte do správných eventů, bude možné objekt táhnout. Vytváří pomocnou lokální proměnnou drag, která udává tažení v procesu.
  • VypišProměnnou: Vypíše vždy čitelně a v rámečku. Aktuální barvu uloží a pak obnoví.
  • NastavFont: Komplexní nastavení fontu v jediné ikoně.
  • NaplňText: Vytvoří lokální proměnnou s názvem 'text', kterou vyplníte v editoru. Snadno vytvoříte řetezec i se zakončením všech řádků způsobem WYSIWYG.
  • CentrujObjekt: Posune střed objektu na střed místnosti.
  • OmezeníRychlosti: Pokud je rychlost objektu vyšší než daný limit, sníží se.
  • NáhodnáBarva: Nastaví kreslící barvu náhodně v daném rozsahu.
  • NáhodnáŠedá: Nastaví kreslící barvu na náhodný odstín šedi.
  • NáhodnýBarevný­Výběr: Ze zvolených barev vybere náhodně.
  • LadicíHlášení: V ladicím módu ( červená šipka ) zapněte debug messages

a tam se vypíše to hlášení. V normálním běhu není hlášení vidět.

Hodně štěstí s vlastními knihovnami, snad vám to bylo trochu užitečné.


 

Stáhnout

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

Staženo 256x (65.4 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í:
4 hlasů
-
Aktivity