Uživatelské nástroje

Nástroje pro tento web


vyuka:ukol_5_-_1.rocnik_2013

Úkol5

Procvičování událostí myši.

Zadání: Vytvořte swf s třemi Movieclipy.

Na začátku budou všechny Movieclipy stát. (Na scéně jim nastavte jmenoMovieclipu.stop();)

Budou reagovat na tyto akce:

  • Kolečko změní barvu při najetí myši (MOUSE_OVER) a při sjetí myši (MOUSE_OUT) přestane měnit barvu.
  • Čtverec začne rotovat při kliknutí a držení (MOUSE_DOWN) přestane rotovat při puštění myši (MOUSE_UP).
  • Hvězdička se začne zvětšovat a měnit barvu při kliknutí (CLICK).

Pro přehrání obsahu potřebujete Adobe Flash Plugin.

Hod kostkou

Na cvičení jsme si sestavili program, který po každém spuštění vytvoří různou kombinaci hodnot na hracích kostkách:

Pro přehrání obsahu potřebujete Adobe Flash Plugin.

Chceme tento program modifikovat tak, aby po kliknutí na libovolnou z těchto tří kostiček se změnily náhodně hodnoty na všech tří kostkách:

Pro přehrání obsahu potřebujete Adobe Flash Plugin.

Zdrojový text původního souboru je možno stáhnout zde:

hazenikostkou_zacatek.zip

V tomto programu máme vytvořen v knihovně symbol „Kostka“, který je realizován šesti políčky s různou hodnotou kostky.

Tyto políčka se zobrazí pomocí příkazu „gotoAndStop(hodnota)“ s číslem políčka (od 1 do 6), což využívá funkce „hodnotaKostky(hodnota)“ která podle hodnoty parametru „hodnota“ zajistí zobrazení příslušného políčka - viz připojený kód Actionscriptu:

stop();
 
function hodnotaKostky(hodnota:Number):void
{
	//hodnota má být od 1 do 6
	//zobrazí kostku s nastavenou hodnotou 
	//předanou parametrem "hodnota"
	this.gotoAndStop(hodnota);
}

V hlavním programu máme 3 instance symbolu Kostka s názvy „kostka1_mc“, „kostka2_mc“ a „kostka3_mc“.

Všechny vytvořené instance „umí“ námi vytvořenou funkci „HodnotaKostky(hodnota)“ jejíž pomocí můžeme nastavovat hodnoty kostiček. Tak např.

  • hodnotu 3 na kostičce kostka1_mc nastavíme pomocí příkazu kostka1_mc.hodnotaKostky(3);
  • hodnotu 2 na kostičce kostka2_mc nastavíme pomocí příkazu kostka2_mc.hodnotaKostky(2);
  • hodnotu 1 na kostičce kostka3_mc nastavíme pomocí příkazu kostka3_mc.hodnotaKostky(1);

Nebo také můžeme využít nastavení náhodným číslem od 1 do 6, které nám vrátí funkce „hodKostkou()“, a hodnoty všech tří kostiček se nastaví pomocí funkce „hazejKostkou()“ na náhodně zvolená čísla od 1 do 6 (viz připojený Actionscript):

function hodKostkou():Number
{
	var vysledek:Number;
	vysledek = Math.random() * 6;
	vysledek = Math.floor(vysledek);
	vysledek = vysledek + 1;
	return vysledek;
}
trace("náhodné číslo = "+hodKostkou());
 
function hazejKostkou():void
{
	kostka1_mc.hodnotaKostky(hodKostkou());
	kostka2_mc.hodnotaKostky(hodKostkou());
	kostka3_mc.hodnotaKostky(hodKostkou());
}
 
hazejKostkou();

Protože funkce „hazejKostkou()“ se zavolá jednou při spuštění programu, budou při každém spuštění tohoto programu zobrazeny jiné hodnoty.

Rozšiřte program „HodKostkou()“ tak aby při každém kliknutí myši na kostičce se změnila hodnota na všech třech kostkách.

Nápověda:

U všech instancí nastavte vlastnost buttonMode na „true“ a ke všem třem instancím kostiček přiřaďte posluchače událostí myši, který po kliknutí bude volat stejnou obslužnou funkci. Tato obslužná funkce uvnitř zavolá funkci „hazejKostkou()“.

vyuka/ukol_5_-_1.rocnik_2013.txt · Poslední úprava: 2014/10/03 14:36 autor: kofranek