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číname 2/2


Toto je druhá časť k 1. tutoriálu. V nej si ukážeme vloženie hudby do miestností, animované kurzory a nastavenie inventára pre ukádání predmetov. Naučíme sa, ako a na čo sa používajú objekty a vytvoríme si jeden ukážkový predmet, ktorý pôjde zobrať, uložiť do inventára a použiť. Ukážeme si tiež, ako sa programujú objekty.
Všetky potrebné obrázky a ADG súbor s už hotovým tutorialom sú obsiahnuté v archíve na konci článku.

Pre tento tutoriál potrebujete Advor verzia 1.02 alebo novší!



hudba


Otvoríme si teda predchádzajúci súbor a vložíme do neho novú skladbu podľa obrázka. tlačidlom do skladby vložíme súbor s hudbou (class4.mid). Skladbu si môžeme ľubovoľne pomenovať (opäť neodporúčam medzery, háčiky a čiarky), ja zvolil hudba_skala. Všetko potvrdíme a otvoríme si našu miestnosť. Prejdeme do záložky Properties a v rolovacie ponuke music vyberieme hudba_skala. Povtrdíme a môžeme skúsiť spustiť.




inventár


Inventár sme si už vytvorili, teraz naň naukladáme niekoľko poličiek, do ktorých je možné vkladať predmety. Poklepaním na pložku Inventory v treelistu otvoríme editor inventára. V záložke Shells stlačíme tlačidlo a ťahom myši na inventár vložíme poličku. Ich presnú pozíciu a veľkosť môžeme editovať v poliach X, Y, Width a Height. V našom prípade sú všetky poličky rovnako veľké, môžeme teda urobiť len jednu a potom použiť tlačidlo Clone, ktoré nám vytvorí kópiu označené poličky. Takto ich vložíme 10 podľa obrázku nižšie.

Na inventár môžeme tiež zobraziť meno aktuálnej miestnosti. Prejdeme do záložky Properties a v groupboxu Room caption zaškrtneme Show room caption a pozíciu nastavíme podľa obrázku (X asi 17 a Y 336).



predmety


Ako som už spomenul, Advor rozoznáva tri typy objektov. Sú to sběratelné predmety (subjects), postavy (characters) a objekty, ktoré sú na všetko ostatné. Teraz si pridáme predmet jablko, ktoré položíme niekam do miestnosti, pôjde zobrať a uložiť do poličky v inventári. Podľa obrázku rozbalíme zložku Objects a do zložky Subjects pridáme nový predmet.
Name nastavíme na jablko, Hint na Jablko a stlačíme tlačidlo Center v groupboxu Inventory hotspot (tým nastavíme stred predmetu pre inventár).

Presunieme sa do záložky Resources. tlačidlom vložíme nový sprite a vo Sprite editore do neho tlačidlom vložíme obrázok jablká (jablko.bmp). Nezabudnite nastaviť priehľadnú farbu na fialovú.
Nakoniec v záložke Sprites nastavíme podľa obrázku nižšie všetky tri sprity. Prvá je, keď jablko leží v miestnosti. Druhý, keď je v inventári a tretí, keď ho odhodíme. Nám u jablká stačí všade rovnaký obrázok. Tri rozdielne obrázky by sme potrebovali napríklad v prípade, že by išlo o predmet ako kabát a podobne. Prvý obrázok by bol veľký, ako visí na vešiaku. Druhý malý zložený, aby sa vošiel do poličky a posledný, nejaký väčší, pokrčený, ako je kabát odhodený.

Otvoríme si miestnosť skala a hotový objekt vložíme tlačidlom
.



Animované kurzory


Už som sa zmienil, že kurzory sa môžu hýbať. Teraz si miesto našej ruky urobíte ruku animovanú. Obrázky síce nie sú nič moc, ale do tutoriálu nechcem dávať kvalitné 3D ruku, pretože by to ľudí vykradli. Otvoríme si kurzor ruka a tlačidlom Sprite otvoríme Sprite editor. Tlačidlom s červeným krížikom vymastíme doterajšie obrázok a postupne pridáme 4 nové (hand1.bmp, hand2.bmp, hand3.bmp a znovu hand2.bmp), podľa obrázku. Všetkým nastavíme priehľadnú fialovú farbu. Teraz nastavíme stred doprostred ruky. Urobíme to buď ručne alebo presunutím krížika na stred obrázku. Ďalej nastavíme Image speed, ktorá udáva, ako rýchlo sa budú obrázky striedať (asi 160). Rýchlosť môžete odhadnúť tým, že si animáciu spustíme zaškrtnutím Preview animation.



Teraz si úplne rovnako vytvoríme ďalšie, úplne nový kurzor, ktorý pomenujeme oko. Budeme tiež animovaný a ako obrázky do Spritu vložíme oko1.png, oko2.png, oko3.png a oko4.png. Budeme ho potrebovať za chvíľu.

objekty prvýkrát


Ako už ste si asi všimli, strom vpravo by mal prekrývať hl. postavu. Lenže je to len obrázok na pozadí a Brandon chodí cez neho. To hneď napravíme. Vyriešime to tak, že vytvoríme objekt strom, s obrázkom tohto stromu, vyrezaného z pozadia. Bude mať hĺbku -1. Keďže hl. postava má hĺbku 0, bude sa strom vždy vykresľovať pred ňou.

Rozbalíme zložku Objects a pridáme nový objekt podľa obrázka. Name nastavíme na strom a v záložke main už nič iné nastavovať nebudeme. Prejde do záložky Colission, kde zaškrtneme Object is inactive. To znamená, že sa nám strom bude len kresliť, ale inak bude neaktívne (nepôjde naň ani prejsť myšou). Depth nastavíme na -1, ako som odôvodnil vyššie. Prejdeme do záložky Resources a pridáme známym spôsobom nový sprite. Vložíme do neho obrázok strom.png a priehľadnú farbu ako vždy nastavíme na fialovú. V záložke Sprites vyberieme z ponuky Sprite nami pridaný sprite. A je to!



Teraz otvoríme miestnosť a rovnako, ako sme vložili jablko, vložíme strom tak, aby dokonale prekrýval strom na pozadí. Keď posunieme Brandona za strom, vidíme, že strom ho naozaj prekrýva. Teraz si môžeme zase skúsiť všetko spustiť.



Objekty s maskou


Teraz zaktivníme časť pozadia, v ktorej je otvor v skale. Mohli by sme si vyrezať otvor z pozadia a vložiť ho ako objekt. Ale ide to aj jednoduššeji. Môžeme použiť objekt s maskou. Maska pri objekte je niečo podobné, ako maska u miestnosti. Jedná sa o čiernobiely sprite, kde biela označuje aktívnu časť objektu a čierna tú neaktívne.


Objekt s maskou vložený v miestnosti a samotný obrázok masky

Vytvoríme si nový objekt. Pomenujeme ho vyhlad a hint nastavíme na "Pozrieť zo skaly". Ako cursor vyberieme z ponuky oko. V záložke Resources vytvoríme nový sprite a vložíme doň obrázok vyhled.png. Prejdeme do záložky Sprites a ako sprite nastavíme nami pridanou masku. Teraz prejdeme do záložky Colission a Mouse colission nastavíme na Use sprite as mask. To znamená, že sa objekt nebude vykresľovať, ale kolízii (keď na neho prejdeme myšou) bude mať podľa masky.

Otvoríme roomeditor a vložíme vyhlad na otvor na pozadí. Zase si projekt môžeme spustiť. Časť pozadie s otvorom je aktívna. Keď na ňu prejdeme myšou, kurzor sa zmení na pohyblivé oko a zobrazí sa nápis: Pozrieť zo skaly.

Ale ako urobiť, aby sa tam hlavná postava išla naozaj pozrieť? To sa hneď dozviete.



Objekty - Skriptovanie


Teraz si ukážeme niečo málo zo skriptovanie objektov. Naprogramujeme, aby pri kliknutí na výhľad Brandon prišiel pred otvor v skale a potom vyhlásil: "Vidím celú Kyrandii!". Najprv si otvoríme Script editor tlačidlom .

Otvorí sa nám okno Script editora. Sú tu 3 polia, na obrázku som ich pomenoval A, B, C. Pole A obsahuje udalosti, na ktoré má objekt reagovať (kliknutia, stlačenie klávesy, použitie predmetu atď.). Keď si udalosť označíme, tak sa nám v poli B objavia akcie, ktoré sa majú vykonať, keď k tejto udalosti nastane. Posledné pole C slúži k editácii označené akcie. My budeme potrebovať udalosť On click (Vykoná sa v momente, keď na objekt klikneme myšou). V nej budú 2 akcie, a to Send character to a point (Pošli postavičku na dané miesto) a Show hint (Ukáž hlášku na objekte).
Klikneme teda na tlačidlo , Hore v poli A, čím vložíme udalosť On click. Teraz klikneme na , Hore v poli B, a v ponuke akcií vyberieme akciu Send character s obrázkom .


Teraz akciu nastavíme. Prvý nastavíme objekt, ktorý má na určené miesto dôjsť. Klikneme na tlačidlo
az ponuky vyberieme Brandona. Miestnosť necháme nastavenú na skala. Smer postavičky, až dôjde na miesto určenia, nestaviame na Up (dopredu) a klikneme na ikonku lupy v pravom dolnom rohu náhľadu. Myšou klikneme kúsok na zem, pod otvor v skale a potvrdíme. Ak ste tak urobili, malo by nastavenie akcie vyzerať podobne, ako na obrázku vyššie.

Teraz nám pri kliknutí na výhľad Brandon dôjde na toto Mito. Ešte potrebujeme, aby povedal, že vidí Kyrandii. Stlačíme znova tlačidlo
a zvolíme akciu Show hint s obrázkom
. Opäť v poli C nastavíme parametre akcie. Tu sú parametre len dva, takže ani nebudem prikladať obrázok. Prvá je objekt, na ktorý sa má hláška zobraziť. Opäť kliknutím na tlačidlo
vyberieme Brandona. Do poľa s textom napíšeme: "Vidím celú Kyrandii!". Zmeny v skripte potvrdíme tlačidlom OK ... Môžeme vyskúšať.


Nakoniec si ukážeme, ako sa programuje používanie predmetov. Urobíme, že keď zoberieme jablko a použijeme ho na Brandona, zmení sa v ohryzok a Brandon povie: "Hmmm, dobrôtka!".


Ako prvý pořebujete nový predmet, a to ohryzok. Pridáme ho obvyklým spôsobom - klikneme pravým tlačidlom na priečinok Subjects a zvolíme Add. V záložke Resources vytvoríme nový sprite a vložíme tam obrázok ohryzek.bmp, nastavíme príslušnú priehľadnú farbu, čiže fialovú. V záložke Sprites zvolíme do všetkých 3 spritov nami pridaný sprite. V záložke Main prepíšeme meno na ohryzok a Hint na Ohryzené jablko. Stlačíme tlačidlo Center v poli Inventory hotspot.

Teraz si otvoríme objekt brandon. Klikneme na tlačidlo Script editor a v poli udalostí pridáme kliknutím na tlačidlo
udalosť On use with (Pri použití predmetu). V dialógovom okne vyberieme objekt jablko. Teraz klikneme na tlačidlo pre pridanie novej udalosti -
a vyberieme akciu Add object (Pridaj objekt) s obrázkom
. V editore akcie klikneme na tlačidlo
a ako objekt na pridanie zvolíme ohryzok. Zaškrtneme políčko As holding subject. To znamená, že táto akcia pridá objekt ohryzok ako práve držaný predmet. Opäť klikneme na tlačtko
a vyberieme nami už známu akciu Show hint s obrázkom
. Objekt necháme na SELF, čo znamená, že sa hláška zobrazí na objekte, ktorý práve editrujeme, čiže na Brandon. Do poľa s textom napíšeme: "Hmmm, dobrôtka!".

Mali by ste dosiahnuť tento:

Aaaaaa ... hotovo! Spustite projekt a vyskúšajte.


 

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 501x (953.37 kB)

 

Článok pre vás napísal David Hartinger
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
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 sa informačné technológie naučil na Unicorn University - prestížnej súkromnej vysokej škole IT a ekonómie.
Aktivity