Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
-
5. září 2024
Matrixmedia - Obsluha a tisk na velkoformátových digitálních tiskárnách
-
30. září 2024
-
4. října 2024
Go verze
Flash MX: Škola hrou VII.
10. června 2003, 00.00 | Náš seriál se zabývá tvorbou her v programu Flash MX. V dnešním dílu donkončíme návrh jednoduché střílečky.
V předchozích dvou dílech seriálu jsme tvořili střílečku. Máme připraveny formace vetřelců a střílející letadlo, které dnes naučíme zasáhnout cíl.
Nejprve vytvoříme výbuch zasaženého cíle. Bude jím MC ZASAH umístěný v MC OBJEKTY. Zvolil jsem výbuch založený na stejném principu jako výbuch letadla - ZASAH je rozdělen na několik částí, z nichž každá obsahuje:
onClipEvent (load) {
rotace = 50*Math.random()-25;
smerX = 6*Math.random()-3;
smerY = 4*Math.random()-3;
zmiz = 3*Math.random()+1;
}
onClipEvent (enterFrame) {
_rotation += rotace;
_x += smerX;
_y += smerY+pad;
pad += 0.1;
if (zmiz<pad) {
_visible = 0;
}
}
Výbuchem se každý úlomek vydá vlastním směrem a po jisté době, stanovené hodnotou ZMIZ, zmizí ze scény. Vše zajišťují náhodně generovaná čísla, takže každý výbuch je jiný.
Na objektu KULKA jsme minule začali tvořit script, který již na objektu nenaleznete. Ne že bychom jej nepotřebovali, ale abychom více využili verzi Flash MX, je script umístěn přímo na časové ose objektu:
cestaV = _root.objekty.vyber.form;
this.onEnterFrame = function() {
for (i=6; i>=1; i--) {
if (this.hitTest(cestaV["v"+(i)])) {
cislov = i;
}
}
if (cislov) {
_root.attachMovie("zasah","zasah"+cislov,cislov+10);
_root["zasah"+cislov]._x = cestaV["v"+(cislov)]._x;
_root["zasah"+cislov]._y = cestaV["v"+(cislov)]._y+160;
_root["zasah"+cislov].gotoAndPlay(2);
cestaV["v"+(cislov)].unloadMovie();
_root.score++;
_root.objekty.letadlo.nabito = 3;
_root.objekty.strela.gotoAndStop(1);
} else if (_x+_root.objekty.letadlo._x>370) {
_root.objekty.strela.gotoAndStop(5);
}
_x+=40;
}
Každému, kdo viděl předchozí díly, je již jasné, že jde opět o script
pro akci v každém snímku (tedy kromě prvního řádku). V první části
(řádek 3-7) program zjistí, který objekt je zasažen a pořadové číslo
vetřelce přiřadí proměnné CISLOV. Zjištění je provedeno v pořadí od
posledního k prvnímu. To proto, aby v případě zásahu dvou objektů,
vybuchl ten nejbližší (bude při výstřelu pravděpodobně nejblíže k
letadlu). No a je-li někdo zasažen (if (cislov)
), bude na jeho
pozici připojen MC ZASAH, který zajistí výbuch a původní létající objekt bude
odstraněn.
Do scény lze vkládat objekty přímo z knihovny. Také hlavní časová osa
obsahuje příkaz attachMovie
:
attachMovie("mrak", "mrak1", 20);
attachMovie("mrak", "mrak2", 21);
attachMovie("mrak", "mrak3", 22);
Jednoduše jsou do scény vloženy 3 instance MC MRAK. Poslední číslo určuje
hloubku objektu. Objekt s vyšší hloubkou překryje objekty na nižší úrovni
(mraky překryjí ostatní objekty). Připojení z knihovny je funkční za předpokladu,
že jsme provedli export:
Časová osa MC MRAK obsahuje:
function mracek() {
couvej = 3*Math.random()+1;
_width = 100*Math.random()+50;
_height = _width/2;
_x = 500*Math.random()+550;
_y = 300*Math.random()+50;
}
mracek();
this.onEnterFrame = function() {
if (_x<-110) {
mracek();
}
_x -= couvej;
};
Nadefinovaná funkce mracek()
vytvoří novou pozici, velikost a rychlost mráčku.
Funkce je využita pokaždé, je-li mrak mimo scénu. Pro úplnost znovu připomínám,
že Math.random()
vytvoří náhodné číslo z intervalu <0,1>
a že např. _x určuje pozici objektu na ose X scény.
Málem bych zapomněl - zdrojový soubor je zde.
Obsah seriálu (více o seriálu):
- Flash 5: škola hrou
- Flash 5: Škola hrou II.
- Flash 5: Škola hrou III.
- flash 5: Škola hrou IV
- Flash MX: škola hrou V.
- Flash MX: Škola hrou VI.
- Flash MX: Škola hrou VII.
-
14. května 2014
Jak vkládat snímky do galerií a soutěží? Stručný obrazový průvodce
-
23. dubna 2014
Konica Minolta přenesla výhody velkých zařízení do kompaktních modelů
-
12. června 2012
-
9. dubna 2014
-
29. listopadu 2013
-
6. září 2004
OKI snižuje ceny barevných laserových tiskáren C3100 a C5200n
-
13. května 2004
-
19. ledna 2004
QuarkXPress Passport 6: předvedení nové verze na konferenci Apple Forum 27.1.2004
-
6. února 2001
-
30. listopadu 2014
Nový fotoaparát α7 II: první plnoformát s pětiosou optickou stabilizací obrazu na světě
-
5. srpna 2024
Bubnový scanner na 4000dpi optické rozlišení + PC + software
-
8. září 2024
-
14. října 2024
-
5. listopadu 2024