Autor | Zpráva | ||
---|---|---|---|
dredie Profil * |
#1 · Zasláno: 17. 11. 2006, 19:44:34
HI all,
dalsi lamackej dotaz/problem.... checknete nasledujici skript: //tvorba kontejneru pro nacitani externich dat, kontejneru pro naslouchani dat o prubehu nacitani a jeho registrace var myMCL1:MovieClipLoader = new MovieClipLoader(); var myMCL2:MovieClipLoader = new MovieClipLoader(); var myListener1:Object = new Object(); var myListener2:Object = new Object(); myMCL1.addListener(myListener1); myMCL2.addListener(myListener2); //tvorba load vars pro nacteni externiho TXT soubboru var myLV1:LoadVars = new LoadVars(); //synamicke nacteni preloaderu z knihovny, jejich vypozicovani a nastaveni _root.attachMovie("preloader", "preloader1", 50); _root.attachMovie("preloader", "preloader2", 51); _root.preloader1._x = 500; _root.preloader1._y = 400; _root.preloader2._x = 700; _root.preloader2._y = 200; _root.preloader1._visible = false; _root.preloader2._visible = false; //nastaveni promennych a funkce pro kotrolu uspesnosti nacteni externich klipu var navigationLoaded:Boolean = false; var titleLoaded:Boolean = false; var textLoaded:Boolean = false; function loadedCheck() { if (navigationLoaded && titleLoaded) { _level5.play(); _level4.play(); _level4.pokus.text = "blablabla"; } else { _level5.stop(); _level4.stop(); } } //funkce pro zobrazeni a skryti preloaderu a pro spousteni loadedCheck myListener1.onLoadProgress = function (target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) { _root.preloader1._visible = true; var preloadPercent:Number = Math.round((bytesLoaded/bytesTotal)*100); _root.preloader1.gotoAndStop(preloadPercent); } myListener2.onLoadProgress = function (target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) { _root.preloader2._visible = true; var preloadPercent:Number = Math.round((bytesLoaded/bytesTotal)*100); _root.preloader2.gotoAndStop(preloadPercent); } myListener1.onLoadComplete = function (target_MC:MovieClip) { _root.preloader1._visible = false; navigationLoaded = true; loadedCheck(); } myListener2.onLoadComplete = function (target_MC:MovieClip) { _root.preloader2._visible = false; titleLoaded = true; loadedCheck(); } // funkce pro zobrazeni textu z externiho textoveho souboru myLV1.onLoad = function (success:Boolean) { if (success == true) { _level4.titleAnime.titleDscrAbstractText.titleDscrAbstractTextField. text = myLV1.subjectText; _level4.titleAnime.titleDscrAbstractText.titleDscrAbstractTextField. text = myLV1.abstractText; } } //nacteni navigace, hlavicky a textu myMCL1.loadClip("contents/navigation.swf", 5); myMCL2.loadClip("contents/topic1/slide1title.swf", 4) myLV1.load("contents/topic1/topic1info.txt"); Klipy se nactou a spusti se tak jak maji (tzn. az jsou nactene oba), stejne tak se nactou i promenne z textaku (overeno pomoci trace). Problem je v tom, ze nejsem schopny adresovat nic uvnitr jakehokoli nacteneho klipu, tzn. ze se mi nezobrazuje zadny text v tech trech polich, na kterych to zkousim. Zkousel jsem i volani fuknci (trace), zvlastni je, ze z nacteneho klipu jsem shcopny zavolat funkci na _level0, ale naopak to proste ne a ne fungovat. Pritom jsem schopny zastavit, rozjet atp. napr. cely _level4 a to i kdyz jsem vynechal preloadery a vytracoval getNextHighestDept, kdy mi to vyblilo 0 a ne 6... btw.: jak je mozne, ze nejvyssi volny level je 0 kdyz _level0 je adresace hlavniho klipu, ve kterem je skript uvedeny vyse? A uplne nejdivnejsi na tom je, ze v jinym projektu to mam udelany podobne a funguje to.... nejsem schopny prijit na to, kde je chyba a uz jsem dost znechucenej.... proste mi to nedava smysl! pradite nekdo pls??? |
||
XXX Profil |
#2 · Zasláno: 17. 11. 2006, 19:49:13
jsem zvedav, jestli ti tohle bude nekdo cist :-D
|
||
dredie Profil * |
#3 · Zasláno: 17. 11. 2006, 19:56:46
jo asi to redukuju na neco kratsiho :)
taakze: jakym zpusobem se da zobrazit dynamicky nacteny text nacteny pomoci loadVars v textovem poli ktere existuje v dynamicky nactenem klipu nactenem pomoci loadClip? |
||
XXX Profil |
#4 · Zasláno: 17. 11. 2006, 20:17:17
no nactes to dynamicky primo do toho externiho clipu a ten pak cely nactes do tvoji cilove animace...
|
||
dredie Profil * |
#5 · Zasláno: 17. 11. 2006, 21:31:21
vyzkousim :)
|
||
dredie Profil * |
#6 · Zasláno: 18. 11. 2006, 17:12:12
tohle funguje, nicmene mi to bohuzel az tak neresi situaci..... potrebuju byt schopny z toho hlavniho klipu ( kam vsechno nacitam) pomoci actionscriptu zadat text do nacteneho klipu. Akorat nejsem schopnej ten nactenej klip adresovat a nevim proc.....???? Treba tohle:
1. mam klip, napr. master.swf. Tento klip je prazdny az na script na 1st frame main timeline. 2. mam klip jiny, treba pokus.swf, v nem se nachazi MCL textContainer, ve kterem je pritomno dynamicke textove pole myTextField. soubor publikuju do stejne slozky jako master.swf 3. v master.swf je nasledujici skript: var myMCL:MovieClipLoader = new MovieClipLoader(); myMCL.onLoadComplete = function { _level4.textContainer.myTextField.text = "blabla"; } myMCL.loadClip ("pokus.swf", 4); Zadny text se mi bohuzel nezobrazi.... nekde mi pokulhava moje logika, ale jsem asi moc blbej na to, abych to pobral :D |
||
XXX Profil |
#7 · Zasláno: 18. 11. 2006, 17:46:54
... ted si nejsem uplne na stoprocent jisty, jak presne adresu napsat, ale kazdopane by ti to melo vyresit tohle: nechej si v tom pokus.swf napr v tom onLoadComplete vypsat pomoci trace adresu toho textoveho pole-predpokladam,ze ti to vypise,po tom importu do master.swf kompletni cestu, takze takhle se pak na nej budes odkazovat.jak ale rikam,nemam ted moznost to zkusit, takze to netvrdim na sto procent ;-)
|
||
dredie Profil * |
#8 · Zasláno: 18. 11. 2006, 17:51:32
jo vim co myslis, taky uz me to napadlo, ale nejsem ted u meho stroje, tak to zkusim vecer.... kazdopadne zjistuju ze problem zamerovani je trochu slozitejsi nez jsem myslel.... bleee
|
||
dredie Profil * |
#9 · Zasláno: 18. 11. 2006, 23:43:21
nejprve oprava.... myMCL.onLoadComplete je nesmysl, tato property je razena k listeneru, tudiz se jedna o myListener.onLoadComplete, ktery je samozrejme prirazen myMCL
tak po par testech jsem dosel k zaveru: ono to funuguje, problem je v rychlosti nacitani.... protoze kdyz myMCL zahlasi, ze je nacitani kompletni, ve skutecnosti zrejme neni, nebot adresace selhava. Pridal jsem na master.swf tento kod: myLV:LoadVars = new LoadVars(); myLV.onLoad = function () { _level4.textContainer.myTextField.text = myLV.myVariable; } a do pokus.swf jsem hodil _level0.myLV.load("external.txt"); a funguje to tak jak chci a potrebuju :) akorat mi teda unika smysl proprty onLoadComplete kdyz ten load de facto completed neni....??? |
||
XXX Profil |
#10 · Zasláno: 19. 11. 2006, 15:23:41
onLoadComplete funguje jak ma, akorat ji asi neumis pouzit ;-)
|
||
dredie Profil * |
#11 · Zasláno: 20. 11. 2006, 23:13:18
nechces me poucit? :) Rekni mi kde delam chybu:
//skript v master.swf var myLV:LoadVars = new LoadVars(); myLV.load("pokus.txt"); var myMCL:MovieClipLoader = new MovieClipLoader() var myListener:Object = new Object(); myMCL.addListener(myListener); myListener.onLoadComplete = function() { _level5.myContainer.myTextField.text = myLV.contents; } myMCL.loadClip("pokus.swf",5); - nefunkcni.... napda me jedine to, ze myLV.load se vola moc pozde na to aby se text zobrazil v pokus.swf, ale v konkretnim pripade ma takovyto soubor cca 200 kb a moc bych se divil, kdyby se nacetl drive nez textak s jednou promennou.... navic jsem v konkretnim pripade pouzil par trace funcki a myLV.load probehlo (aspon co jsem zjistil) drive nez myMCL.onLoadComplete orpotitomu kdyz pouziju: //skript v master.swf var myLV:LoadVars = new LoadVars(); myLV.onLoad = function() { _level5.textContainer.myTextField.text = myLV.contents; } var myMCL:MovieClipLoader = new MovieClipLoader(); myMCL.loadClip("pokus.swf",5); //skript v pokus.swf _level0.myLV.load("pokus.txt") ...tak mi to funguje presne jak potrebuju. Co delam spatne? A nerikej mi ze to neumim pouzit (coz je nejspis pravda, ale konstruktivni je to asi jako zachod :) D. |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0