Rychlý článek o tom, jak vytvořit flashovou hru

Tato příručka vám krok za krokem ukáže, jak rychle a snadno vytvořit hru Flash

Tento článek je pro lidi, kteří právě začínají používat nástroje Flash k vytváření interaktivních věcí. Tento článek vás během několika minut přenese z prázdného flash dokumentu do akční hry a vysvětlí všechny záludné věci jednoduchým, každodenním jazykem, který můžete přeskočit, pokud chcete.

Takže bez dalších okolků spustíme náš oblíbený nástroj Flash. Existuje mnoho dostupných nástrojů, takže budu používat Macromedia Flash, protože je to nejuniverzálněji používaný nástroj.

Sothink SWF Quicker doporučuji začínajícím flash designérům pro tvorbu flash aplikací a filmů. Tento program je jako snadno použitelná verze Macromedia Flash a tento všestranný nástroj jsem použil ke snadnému vytváření různých aplikací.

Nastavte scénu

Vytvořte nový flash dokument (menu Soubor/Nový) a uložte jej jako game.fla. Toto je soubor návrhu, který bude obsahovat design a obsah hry.

Pokud se někde v tomto tutoriálu zaseknete, dole na této stránce je hotová game.fla, kterou si můžete stáhnout, abyste viděli, jak by věci měly vypadat.

Změňte vlastnosti dokumentu (nabídka Úpravy/Dokument) tak, aby rozměry byly 640 x 480 a snímková frekvence byla 30 snímků za sekundu. Předpokládá se, že barva pozadí je bílá.

Začneme vytvořením 5 prvních objektů potřebných pro fungování hry.

Nakreslete hráčovu loď, mimozemšťana, hráčovu střelu, mimozemský laser a výbuch na stejný rám a vrstvu.

Proměňte každou kresbu na filmový klip s vlastním názvem instance. Níže vysvětlím podrobněji, jak to funguje. Pokročilejší lidé mohou pokračovat v pojmenovávání instancí.

Jak převést kresbu na filmový klip:

1. Vyberte kresbu přetažením rámečku kolem ní.

2. Převeďte na filmový klip tak, že přejdete do nabídky a poté Upravit nebo Vložit, v závislosti na verzi Flash. Zvolte “Převést na symbol”. Můžete také použít zkratku stisknutím klávesy F8.

3. Nastavte chování jako Filmový klip a zvolte vhodný název. Tento název není názvem instance. Pro ilustraci klikněte sem.

4. Vyberte nový filmový klip a v poli vlastností v dolní části nastavte název instance podle potřeby.

Názvy instancí jsou níže:

Filmový klip pro hráčovu loď se jmenuje PlayerShip

Filmový klip k mimozemšťanovi se jmenuje Vetřelec

Filmový klip pro projektil přehrávače se jmenuje PlayerShotT

Filmový klip pro mimozemský laser se jmenuje AlienShotT

Filmový klip k explozi se jmenuje ExplosionT

Všimněte si, že na konci některých názvů instancí je T. To je užitečné pro označení, že objekty s T na konci by měly být použity jako šablony pro jejich kopie. To bude vysvětleno později.

Ať se věci dějí

Dále vytvoříme některá základní chování pro naše objekty Movie Clip.

V tomto okamžiku hráčova loď nereaguje příliš rychle. Jdeme to změnit.

Klikněte levým tlačítkem na hráčovu loď a vyberte ji. Přejděte na panel Akce v dolní části a do bílé oblasti vpravo zadejte následující kód:

onClipEvent(enterFrame)

{

if(Key.isDown(Key.RIGHT)) {

//to posune hráče o 15 jednotek doprava

this._x = toto._x + 15;

} else if (Key.isDown(Key.LEFT)) {

//to posune hráče o 15 jednotek doleva

this._x = toto._x – 15;

}

}

Níže vysvětlím, co tento kód znamená. Pokud nechcete s ActionScriptem trávit příliš mnoho času, můžete toto vysvětlení přeskočit.

Něco o ActionScriptu:

onClipEvent(enterFrame){} Toto je ve skutečnosti kontejner nazývaný funkce. Tento kontejner obsahuje kód, který je v něm třeba spustit. Funkce se nespustí ani nepoběží, dokud jí něco jiného neřekne. “onClipEvent” je název funkce. Některá jména, jako například „onClipEvent“, jsou vyhrazena Flash, aby se zajistilo správné provedení určitých věcí.

Text v závorkách “(” a “)” jsou všechny parametry předané funkci. Parametry jsou předávány ze zdroje, který je provedl. Může existovat více než jeden parametr, např. “(var1,test2)”. Tyto parametry lze obvykle použít v rámci funkce. Parametry budou podrobněji popsány později.

Obsah mezi složenými závorkami “{” a “}” je skutečný kód v rámci právě prováděné funkce.

Věci jako “toto._x= toto._x + 15;” se nazývají prohlášení. Příkazy jsou kousky kódu, které říkají něco, co má udělat něco jiného. Obvykle je na každém řádku nejvýše jeden příkaz. Každý příkaz musí končit “;” aby Flash věděl, kdy výpis končí.

Komentáře Flash ignoruje, ale pomáhají kodérovi vědět, co jeho kód dělá. Komentáře začínají “//” a pokračují po celý řádek.

if(Key.isDown(Key.RIGHT)) {} Říká se tomu příkaz if. Jedná se v podstatě o test, zda jsou věci v závorkách pravdivé. Pokud je obsah pravdivý, kód uvnitř složených závorek bude proveden.

else if (Key.isDown(Key.LEFT)) {} Toto může následovat pouze za příkazem “if” nebo jakýmkoli jiným příkazem “else if”. V zásadě, pokud jsou věci v předchozím testu nepravdivé, pak jsou testovány věci v tomto příkazu „jinak, pokud“. Pokud je test v závorkách pravdivý, provede se kód v závorkách.

S tímto malým kouskem kódu můžete pohybovat lodí zleva doprava. Prohlédněte si flashovou animaci (CTR-ENTER) a pokuste se pohnout lodí pomocí levé a pravé šipky.

Loď se může pohybovat mimo hranice, takže musíme přidat další kód, abychom omezili pohyb.

Změňte řádek:

if(Key.isDown(Key.RIGHT )) {

Nepříjemný:

if(Key.isDown(Key.RIGHT) a toto._x 0) {

Znovu si prohlédněte animaci. Tentokrát musí hráčská loď zůstat uvnitř hranic.

Nyní by byl vhodný čas umístit hráčovu loď kolem spodní části jeviště, protože vystřelí nahoru.

Je čas vdechnout mimozemšťanovi trochu života. Vyberte mimozemšťana a umístěte tento kód do sekce ActionScript:

// toto se spustí při načtení klipu

onClipEvent (načíst)

{

xmove = random(15) – random(15); //komentáře mohou také následovat za příkazy

yzet = random(15) – random(15); //to randomizuje pohyb y

this._x = random(640); // toto nastaví pozice x a y náhodně

this._y = random(480);

}

//toto se spustí pokaždé, když je vložen nový snímek, v tomto případě 30krát za sekundu

onClipEvent(enterFrame)

{

// přesuneme mimozemšťana

this._x = toto._x + xzet;

this._y = this._y + ymove;

// odrazit mimozemšťana, pokud je mimo oběžnou dráhu

if(this._x > 640){xzet = Math.abs(xzet) * -1}

if(dit._x 480){yzet = Math.abs(yzet) * -1}

if(toto._y 0){

–PShotTimer;

}

// test na stlačený mezerník

if(Key.isDown(Key.SPACE))

{

if(PShotTimer 480){this.removeMovieClip();}

// otestujte, zda to nekoliduje s přehrávačem

col = _root.md(_x, _y, _root.PlayerShip._x, _root.PlayerShip._y)

// můžete změnit 40 na jiné číslo, pokud se zdá, že výstřely procházejí

pokud (sloupec zde

Doufám, že jste se při sledování tohoto návodu bavili stejně jako já při jeho psaní.

Až budete mít příležitost sedět a vstřebat tento článek, neváhejte nám poslat své komentáře a návrhy – vaše zpětná vazba si velmi vážíme.

Napsal Damien D

Rychlý článek o tom, jak vytvořit flashovou hru

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top