Autor | Zpráva | ||
---|---|---|---|
gubi Profil |
#1 · Zasláno: 12. 2. 2008, 16:25:04
Zdravim, mam dotaz:
když vytvařim více MC pomocí cyklu for a funkce duplicateMovieClip(), dá se do toho duplikovaného MC nějak vložit proměnná s číslem? |
||
FlashManiac Profil |
#2 · Zasláno: 12. 2. 2008, 22:28:21
samozrejme
|
||
FlashManiac Profil |
#3 · Zasláno: 12. 2. 2008, 22:29:09
samozrejme
|
||
gubi Profil |
#4 · Zasláno: 12. 2. 2008, 22:37:49
to rad slysim, mohl bys mi prosim te, napsat jak?
Mam takovyto kod: for (i=0; i<pocet; i++) { loadMovie("pictures/Home/male/"+pictures[i], "pozadi_mc.podklad"+i+"_mc"); duplicateMovieClip("pozadi_mc.podklad"+i+"_mc", "podklad"+(i+1)+"_mc", i+1); souradniceX = souradniceX+posun; eval("pozadi_mc.podklad"+(i+1)+"_mc")._x = souradniceX; eval("pozadi_mc.podklad"+(i+1)+"_mc")._y = 1; } funguje to tak jak potrebuju, vytvori to sice o jeden MC navic, ale to mi nevadi... |
||
FlashManiac Profil |
#5 · Zasláno: 13. 2. 2008, 09:50:42
no takze si vytvoris ty MC..
a tedka uz jenom treba v dalsim cyklu.. nebo i v tom vytvarecim udelas jen pozadi_mc.podklad1_mc.promenna=nejakaHodnota //treba cislo v cyklu takhle: _root.pozadi_mc['podklad'+i+'_mc'].promenna=nejakaHodnota |
||
gubi Profil |
#6 · Zasláno: 13. 2. 2008, 13:56:25
zkoušel jsem to podobně:
eval("pozadi_mc.podklad"+(i+1)+"_mc").promenna = 8; a nefungovalo to, po spusteni se mi ta promenna ani neukazala v okne Variables, ale díky za radu, vyzkousim tvou verzi... prosim tě, mám ještě jeden problém, pak uz snad dam pokoj :) pomoci LoadVars načítám proměnné z txt souboru a ukládam je do pole, ale kdyz se pak dal ve skriptu odkazjuju na prvek v tom poli, tak mi to pise ze promenna je undefined, pritom po spusteni v okne Variables pole pictures obsahuje vsechny prvky, jak ma. Přitom, když to pole definuju manualne tak všechno funguje (var pictures:Array = new Array("home0.jpg", "home1.jpg");). Bohuzel nevim, jestli si ten skript pamatuju spravne, jsem v praci a tady neni moznost mit nainstalovanej flash :( : var nacti:LoadVars = new LoadVars(); var pictures:Array = new Array(); var konec:Number; nacti.load("promenne.txt"); nacti.onLoad = function() { konec = nacti.cislo; for(i=0;i<konce;i++) { var a:String = "obr" + i; pictures[i] = nacti[a]; } } a = pictures[1]; vysledek je ze a = undefined obsah souboru "promenne.txt": &cislo=2&obr0=home0.jpg&obr1=home1.jpg Snad jsem se vyjadril srozumitelne :) Nevis, kde je zakopanej pes? |
||
FlashManiac Profil |
var nacti:LoadVars = new LoadVars();
var pictures:Array = new Array(); var konec:Number; nacti.onLoad = function() { konec = nacti.cislo; for(i=0;i<konce;i++) { var a:String = "obr" + i; pictures[i] = nacti[a]; } } nacti.load("promenne.txt"); a = pictures[1]; zkus to takhle.. mam pcit ze kdyz napises prvni volani LOAD a a pak udalost ONLOAD ze to nejde.. ale naopak by to jit melo :-) zkus a uvidis:) |
||
Časová prodleva: 4 dny
|
|||
gubi Profil |
#8 · Zasláno: 17. 2. 2008, 20:46:06
tak jsem to zkusil, ale porad nic, na výstupu debug - list Variables pise:
Variable _level0.pictures = [object #1, class 'Array'] [ 0:"Home6.jpg", 1:"Home7.jpg", 2:"Home9.jpg", 3:"Home10.jpg", 4:"Home11.jpg", 5:"Home12.jpg", 6:"Home13.jpg", 7:"Home14.jpg" ] ale proměnná a = undefined. |
||
FlashManiac Profil |
#9 · Zasláno: 17. 2. 2008, 23:23:28
mohl bys mi poslat zdrojak??
uploadni ho na nejake freeserver napr. leteckaposta.com a pak mi posli link |
||
gubi Profil |
#10 · Zasláno: 19. 2. 2008, 00:37:30 · Upravil/a: gubi
promin, ale netusim, jak to funguje na leteckaposta.com...
ale udelal jsem maly pokrok, kdyz ten skript dam pod udalost on (press) tak už to funguje. na základní časový ose načtu proměnné do toho pole, pak jsem dal na jeden mc pod událost: on (press) { var a:String = _parent.pictures[0]; } a na výstupu už není undefined, ale je tam to co tam má být (ovšem až potom, co kliknu na ten mc) Otázka tedy zní: je nějaká událost, pomocí které by to šlo načíst, aniž bych musel na něco klikat (onClipEvent (load) mi nefungovalo)? |
||
FlashManiac Profil |
#11 · Zasláno: 19. 2. 2008, 11:44:55
no muzes to udelat tak ze se ta funkce na nahozeni tech promennych spusti trba az za nejkay casovy okamzik jaky ty si definujes
pouzij na to setInterval |
||
Časová prodleva: 16 dní
|
|||
gubi Profil |
#12 · Zasláno: 6. 3. 2008, 20:25:20 · Upravil/a: gubi
cau, tak jsem to vyzkousel s tim setInterval a funguje to, ale ta funkce to volá pořád (např. každou půlvteřinu), existuje funkce, která to provede jen jednou po určité časové prodlevě nebo dá se to nějak zastavit? Zkoušel jsem to zastavit pomocí clearInterval, ale to mi nějak nefachá, nevim jak tam našroubovat, aby se to vyplo po první obrátce :)
ještě to zkusim nějakou podmínkou, ale nevim, nevim, už jsem zoufalej... dodatek: asi se u setInterval nedá nastavit počet opakování co? :) |
||
FlashManiac Profil |
#13 · Zasláno: 6. 3. 2008, 22:01:06
ty musi ty funkce po prvnim zavolani vypnout a to udelat tahle:
var interval:Number; function proved():Void{ clearInterval(interval); //..zde bude kod te funkce pro to co potrebujes } interval=setInterval(proved,200); dulezite je tam to clearInterval(); |
||
gubi Profil |
#14 · Zasláno: 6. 3. 2008, 22:09:40
covece funguje to, díky moc :)
|
||
Časová prodleva: 16 let
|
0