Autor | Zpráva | ||
---|---|---|---|
dahaus Profil * |
Ahoj,
snažím se vyřešit tento problémek. Chci do hlavní scény načítat mc po stisku tlačítka další a opačně zase pro zpět, jedná se o galerii. Problém mám v tom že tedy udělám nějaké pole kde definuji mc které se mi mají načítat clips = new Array("test1.swf", "test2.swf") nastavím counter na 0 Counter = 0; a nactu mc na stage klip.loadMovie(clips[Counter++]); a toto použí na button next na stisknutí klip.loadMovie(clips[Counter++]); ale problém je v tom, že pokud překročím stisknutím počet klipů tak se nic neděje a když chci zase nazpátek klip.loadMovie(clips[Counter--]); tak to nefunguje zase správně a proklikám se zase až před klip 1, potřebuji to nějak ošetřit aby bylo zadáno maximální a minimální počet klipů a nějak upravit funkci, nebo přijít s nějakým elegantnějším řešením, nemáte někdo takové ? Díky |
||
sanxo Profil * |
potrebujes tam dat podmienku, ktora ti bude ohodnocovat, ci premenna counter nie je mensia ako nula, alebo zas vecsia ako velkost pola. Nieco ako
a sucasne do buttonov: 1.dalsi -
2.zpet -
nepisal som tam udalosti buttonu (je to len sposob ako to vyriesit) |
||
sanxo Profil * |
#3 · Zasláno: 17. 1. 2005, 11:23:13
oprava:
inac by ti hladalo pri vracani "spět" aj clips[-1] :-) |
||
sanxo Profil * |
#4 · Zasláno: 17. 1. 2005, 11:24:55
kurna nemam dobry den :-//
samozrejme to ma byt: if (counter > 0 && counter < clips.length){ sorry |
||
dahaus Profil * |
#5 · Zasláno: 17. 1. 2005, 11:33:39
vyzkousel jsem to, ale nějak mi to nejde rozchodit spise zakomponovat do stavajiciho kodu, slo by mi to popsat ten cely kod pokusil jsem se nahradit tou funkci posledni radek kodu a nahradit kod u tlascitek ale nejde mi to diky .-)
|
||
sanxo Profil * |
#6 · Zasláno: 17. 1. 2005, 11:45:05
mozno, ze mas chybu v cestach
ten kod treba upravit pre aktualny projekt, ale podstatne je, ze musis kontrolovat, aby ti premenna counter neprekrocila pocet poloziek pola. Cize ak mas 6 poloziek v poli, counter musi byt v intervale <0, 5>, aby si vedel polozky z pola vytahovat. Tvoj povodny kod robil to, ze ti counter zvecsovalo za tieto hranice. |
||
dahaus Profil * |
#7 · Zasláno: 17. 1. 2005, 12:35:16
Tak jestli muzu poprosit tady je kompletni kod, porad to nacita za ten interval :-(
clips = new Array("test1.swf", "test2.swf") Counter = 0; _root.klip.loadMovie(clips[Counter++]); function nacitajMC (zmenit){ if (counter > 0 && counter < clips.length){ klip.loadMovie(clips[Counter+zmenit]); } } takto se mi nacte na stage prvni obrazek a pak nabutonu jsem dal kod on (press) { klip.loadMovie(clips[Counter++]); nacitajMC (1); } kde tedy je chyba ? :-( |
||
sanxo Profil * |
#8 · Zasláno: 17. 1. 2005, 12:45:04
prave na tom pracujem
chyba je v mojom rieseni - nie je dotiahnute dokonca :-) |
||
dahaus Profil * |
#9 · Zasláno: 17. 1. 2005, 13:20:10
Co kdyby ta kontrola byla na tlačítku ?
něco jako on (press) { if (counter > 0 && counter < Countermax) {stop(); } else {klip.loadMovie(clips[Counter++]);} } ale aby to fungovalo toto mi nejde :-) |
||
dahaus Profil * |
#10 · Zasláno: 17. 1. 2005, 13:20:56
jo pridal jsem si globalni Countermax = 4
pocet poli |
||
sanxo Profil * |
#11 · Zasláno: 17. 1. 2005, 13:37:06
takze mam to:
na hlavnej casovej osi je:
v buttone spet je:
v buttone dalej je:
inac ja osobne na taketo veci vyuzivam XML. Tento sposob nevyuzivam |
||
sanxo Profil * |
#12 · Zasláno: 17. 1. 2005, 13:40:16
inac tu je zdrojak.
|
||
dahaus Profil * |
#13 · Zasláno: 17. 1. 2005, 13:44:53
a nejaky jednoduchy zpusob pres XML taky jsem o tom premyslel
jestli muzu otravovat, programovani neni muj konicek ale snazim se :-) |
||
sanxo Profil * |
#14 · Zasláno: 17. 1. 2005, 13:46:14
pockaj pozriem
:-)) |
||
sanxo Profil * |
#15 · Zasláno: 17. 1. 2005, 13:51:11
no v podstate je to to iste, akurat udaje netahas z pola, ale z XML objektu - takze asi ti to bude nanic :-(
|
||
dahaus Profil * |
#16 · Zasláno: 17. 1. 2005, 13:59:37
diky moc :-)
jeste si pohravam s tim ze tam dam timer aby se po kliknuti nacteni dalsiho klipu spustilo az treba po 5 sec, potrebuji to aby se mi ten predchozi klip prehral az nakonec a pak zaclo nacitani dalsiho klipu, snad to pujde s getTimer a tak :-) neznam zatim zadne elegantni zpusoby jak to resit, ale patram a patram a clovek se porad uci :-) |
||
sanxo Profil * |
#17 · Zasláno: 17. 1. 2005, 14:11:40
poradim ti:
1. do existujucej funkcie nacitajMC daj na jej koniec prikazy my_btn.enabled = false , ktory ma hodnotu true, alebo false - sposobi aktivnost/neaktivnost buttonu, a mozes tam dat aj nastavenie alfy napr. na 30 pre MC v ktorom su buttony (zvyraznis tym inaktivitu buttonov) 2. vytvor si funkciu (s nazvom napr. zapnibtn), ktora bude pre kazdy button obsahovat prikaz my_btn.enabled = true, plus nastavis alfu na 100 3. do kazdeho externeho swf das na posledny prehravany frame prikaz, ktory zavola funkciu _root.zapnibtn (). Tym sa buttony znovu aktivuju my_btn je nazov ktory si buttonu zadal (musis zadat aj cestu k buttonu ) |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0