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í.

Advor tutoriál - začínáme 2/2

Toto je druhá část k 1. tutoriálu. V ní si ukážeme vložení hudby do místností, animované kurzory a nastavení inventáře pro ukádání předmětů. Naučíme se, jak a k čemu se používají objekty a vytvoříme si jeden ukázkový předmět, který půjde sebrat, uložit do inventáře a použít. Ukážeme si také, jak se programují objekty.
Všechny potřebné obrázky a adg soubor s již hotovým tutoriálem jsou obsaženy v archivu na konci článku.

Pro tento tutoriál potřebujete Advor verze 1.02 nebo novější !



Hudba


Otevřeme si tedy předchozí soubor a vložíme do něj novou skladbu podle obrázku. Tlačítkem do skladby vložíme soubor s hudbou (class4.mid). Skladbu si můžeme libovolně pojmenovat (opět nedoporučuji mezery, háčky a čárky), já zvolil hudba_skala. Vše potvrdíme a otevřeme si naši místnost. Přejdeme do záložky Properties a v rolovací nabídce music vybereme hudba_skala. Povtrdíme a můžeme zkusit spustit.

 




Inventář


Inventář jsme si už vytvořili, nyní na něj naskládáme několik poliček, do kterých je možné vkládat předměty. Poklepáním na pložku Inventory v treelistu otevřeme editor inventáře. V záložce Shells stiskneme tlačítko a tahem myši na inventář vložíme poličku. Jejich přesnou pozici a velikost můžeme editovat v polích X,Y,Width a Height. V našem případě jsou všechny poličky stejně velké, můžeme tedy udělat jen jednu a potom použít tlačítko Clone, které nám vytvoří kopii označené poličky. Takto jich vložíme 10 podle obrázku níže.

 


Na inventář můžeme také zobrazit jméno aktuální místnosti. Přejdeme do záložky Properties a v groupboxu Room caption zaškrtneme Show room caption a pozici nastavíme podle obrázku (X asi 17 a Y 336).



Předměty


Jak už jsem se zmínil, Advor rozeznává tři typy objektů. Jsou to sběratelné předměty (subjects), postavy (characters) a objekty, které jsou na vše ostatní.
Nyní si přidáme předmět jablko, které položíme někam do místnosti, půjde sebrat a uložit do poličky v inventáři. Podle obrázku rozbalíme složku Objects a do složky Subjects přidáme nový předmět.

Name nastavíme na jablko, Hint na Jablko a stiskneme tlačítko Center v groupboxu Inventory hotspot (tím nastavíme střed předmětu pro inventář).


Přesuneme se do záložky Resources.
Tlačítkem vložíme nový sprite a ve Sprite editoru do něj tlačítkem vložíme obrázek jablka (jablko.bmp). Nezapomeňte nastavit průhlednou barvu na fialovou.

Nakonec v záložce Sprites nastavíme podle obrázku níže všechny tři sprity. První je, když jablko leží v místnosti. Druhý, když je v inventáři a třetí, když ho odhodíme. Nám u jablka stačí všude stejný obrázek. Tři rozdílné obrázky bysme potřebovali například v případě, že by šlo o předmět jako kabát a podobně. První obrázek by byl velký, jak visí na věšáku. Druhý malý složený, aby se vešel do poličky a poslední, nějaký větší, zmuchlaný, jak je kabát odhozený.

 


Otevřeme si místnost skala a hotový objekt vložíme tlačítkem .

 



Animované kurzory


Už jsem se zmínil, že kurzory se mohou hýbat. Teď si místo naší ruky udéláme ruku animovanou. Obrázky sice nejsou nic moc, ale do tutoriálu nechci dávat kvalitní 3D ruku, protože by to lidi vykradli.
Otevřeme si kurzor ruka a tlačítkem Sprite otevřeme Sprite editor. Tlačítkem s červeným křížkem vymažeme dosavadní obrázek a postupně přidáme 4 nové (hand1.bmp, hand2.bmp, hand3.bmp a znovu hand2.bmp), podle obrázku. Všem nastavíme průhlednou fialovou barvu.
Nyní nastavíme střed do prostřed ruky. Uděláme to buď ručně nebo přesunutím křížku na střed obrázku. Dále nastavíme Image speed, která udává, jak rychle se budou obrázky střídat (asi 160). Rychlost můžete odhadnout tím, že si animaci spustíme zaškrtnutím Preview animation.



Nyní si naprosto stejně vytvoříme další, úplně nový kurzor, který pojmenujeme oko. Budé také animovaný a jako obrázky do spritu vložíme oko1.png, oko2.png, oko3.png a oko4.png. Budeme ho potřebovat za chvíli.

 


Objekty poprvé


Jak už jste si asi všimli, strom vpravo by měl překrývat hl. postavu. Jenže je to jen obrázek na pozadí a Brandon chodí přes něj. To hned napravíme.
Vyřešíme to tak, že vytvoříme objekt strom, s obrázkem tohoto stromu, vyříznutého z pozadí. Bude mít hloubku -1. Jelikož hl. postava má hloubku 0, bude se strom vždy vykreslovat před ní.

Rozbalíme složku Objects a přidáme nový objekt podle obrázku.
Name nastavíme na strom a v záložce main už nic jiného nastavovat nebudeme. Přejde do záložky Colission, kde zaškrtneme Object is inactive. To znamená, že se nám strom bude jen kreslit, ale jinak bude neaktivní (nepůjde na něj ani najet myší). Depth nastavíme na -1, jak jsem odůvodnil výše. Přejdeme do záložky Resources a přidáme známým způsobem nový sprite. Vložíme do něj obrázek strom.png a průhlednou barvu jako vždy nastavíme na fialovou. V záložce Sprites vybereme z nabídky Sprite námi přidaný sprite. A je to !

 


Nyní otevřeme místnost a stejně, jako jsme vložili jablko, vložíme strom tak, aby dokonale překrýval strom na pozadí. Když posuneme brandona za strom, vidíme, že strom ho opravdu překrývá. Teď si můžeme zase zkusit vše spustit.



Objekty s maskou


Nyní zaktivníme část pozadí, ve které je otvor ve skále. Mohli bysme si vyříznout otvor z pozadí a vložit ho jako objekt. Ale jde to i jednoduššeji. Můžeme použít objekt s maskou. Maska u objektu je něco podobného, jako maska u místnosti. Jedná se o černobílý sprite, kde bílá označuje aktivní část objektu a černá tu neaktivní.

 


Objekt s maskou vložený v místnosti a samotný obrázek masky

Vytvoříme si nový objekt. Pojmenujeme ho vyhled a hint nastavíme na "Podívat se ze skály". Jako cursor vybereme z nabídky oko. V záložce Resources vytvoříme nový sprite a vložíme do něj obrázek vyhled.png. Přejdeme do záložky Sprites a jako sprite nastavíme námi přidanou masku. Teď přejdeme do záložky Colission a Mouse colission nastavíme na Use sprite as mask. To znamená, že se objekt nebude vykreslovat, ale kolizi (když na něj najedeme myší) bude mít podle masky.

Otevřeme roomeditor a vložíme vyhled na otvor na pozadí. Zase si projekt můžeme spustit. Část pozadí s otvorem je aktivní. Když na ni najedeme myší, kurzor se změní na pohyblivé oko a zobrazí se nápis : Podívat se ze skály.

Ale jak udělat, aby se tam hlavní postava šla opravdu podívat ? To se hned dozvíte.



Objekty - Skriptování


Teď si ukážeme něco málo ze skriptování objektů. Naprogramujeme, aby při kliknutí na výhled Brandon přišel před otvor ve skále a potom prohlásil : "Vidím celou Kyrandii !".
Nejprve si otevřeme Script editor tlačítkem .

Otevře se nám okno Script editoru. Jsou zde 3 pole, na obrázku jsem je pojmenoval A,B,C. Pole A obsahuje události, na které má objekt reagovat (kliknutí, stisk klávesy, použití předmětu atd.). Když si událost označíme, tak se nám v poli B objeví akce, které se mají provést, když k této události nastane. Poslední pole C slouží k editaci označené akce.
My budeme potřebovat událost On click (Provede se v momentě, když na objekt klikneme myší). V ní budou 2 akce, a to Send character to a point (Pošli postavičku na dané místo) a Show hint (Ukaž hlášku na objektu).

Klikneme tedy na tlačítko , nahoře v poli A, čímž vložíme událost On click. Nyní klikneme na , nahoře v poli B, a v nabídce akcí vybereme akci Send character s obrázkem .

 


Nyní akci nastavíme. První nastavíme objekt, který má na určené místo dojít. Klikneme na tlačítko a z nabídky vybereme brandona. Místnost necháme nastavenou na skala. Směr postavičky, až dojde na místo určení, nestavíme na Up (dopředu) a klikneme na ikonku lupy v pravém dolním rohu náhledu. Myší klikneme kousek na zem, pod otvor ve skále a potvrdíme. Pokud jste tak učinili, mělo by nastavení akce vypadat podobně, jako na obrázku výše.

Teď nám při kliknutí na výhled Brandon dojde na toto míto. Ještě potřebujeme, aby řekl, že vidí Kyrandii. Stiskneme znovu tlačítko a zvolíme akci Show hint s obrázkem . Opět v poli C nastavíme parametry akce. Zde jsou parametry jen dva, takže ani nebudu přikládat obrázek. První je objekt, na který se má hláška zobrazit. Opět kliknutím na tlačítko vybereme brandona. Do pole s textem napíšeme : "Vidím celou Kyrandii !". Změny ve skriptu potvrdíme tlačítkem OK... Můžeme vyzkoušet.


Nakonec si ukážeme, jak se programuje používání předmětů. Uděláme, že když sebereme jablko a použijeme ho na Brandona, změní se v ohryzek a Brandon řekne : "Hmmm, dobrůtka !".

Jako první pořebujeme nový předmět, a to ohryzek. Přidáme ho obvyklým způsobem - klikneme pravým tlačítkem na složku Subjects a zvolíme Add. V záložce Resources vytvoříme nový sprite a vložíme tam obrázek ohryzek.bmp, nastavíme příslušnou průhlednou barvu, čili fialovou. V záložce Sprites zvolíme do všech 3 spritů námi přidaný sprite. V záložce Main přepíšeme jméno na ohryzek a Hint na Okousané jablko. Stiskneme tlačítko Center v poli Inventory hotspot.

Nyní si otevřeme objekt brandon. Klikneme na tlačítko Script editor a v poli událostí přidáme kliknutím na tlačítko událost On use with (Při použití předmětu). V dialogovém okně vybereme objekt jablko. Nyní klikneme na tlačítko pro přidání nové události - a vybereme akci Add object (Přidej objekt) s obrázkem . V editoru akce klikneme na tlačítko a jako objekt k přidání zvolíme ohryzek. Zaškrtneme políčko As holding subject. To znamená, že tato akce přidá objekt ohryzek jako právě držený předmět. Opět klikneme na tlačtko a vybereme námi již známou akci Show hint s obrázkem . Objekt necháme na SELF, což znamená, že se hláška zobrazí na objektu, který právě editrujeme, čili na brandonovi. Do pole s textem napíšeme : "Hmmm, dobrůtka !".

Měli byste dosáhnout tohoto :

 


Aaaaaa... hotovo ! Spusťte projekt a vyzkoušejte.


 

Stáhnout

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

Staženo 502x (953.37 kB)

 

Článek pro vás napsal David Hartinger
Avatar
Uživatelské hodnocení:
Ještě nikdo nehodnotil, buď první!
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David se informační technologie naučil na Unicorn University - prestižní soukromé vysoké škole IT a ekonomie.
Aktivity