Napisano 27 Sierpień 200420 l Musisz stworzyc integralnego swf'a z wlasnym preloaderem i uzyc akcji Loadmovie(); Sa dwie odmiany: "loadMovieNum()" ladujacy nowy film na okreslony level lub samo "loadMovie()" ladujace go do okreslonego movie clipa w naszym filmie glównym. Te dwa warianty roznia sie glownie pozniejszym odwolaniem do tych filmow. W Twoim przypadku najlepiej uzyc loadMovie. W miejscu gdzie ma sie doladowac nowy element utworz movie clip np. "mc". To moze byc maly prostokat nawet. Wywolanie: loadMovie("dodatek.swf", "mc"); Wowczas zmieniajac apha czy tint "mc", caly nowy film reaguje razem z nim. To samo sie tyczy odwolania do zmiennych czy sciezki czasowej w zaladowanym filmie. zmiana wartosci zmiennej w nowym filmie z pozycji glownego flasha: _root.mc.zmienna="nowa wartosc"; ingerencja w animacje movie clipa "loop" w elemencie dodatkowym z pozycji glownego flasha: _root.mc.loop.gotoAndStop(2); itd.. czyli zaladowany filmik zachowuje sie jak zwykly symbol. Tak samo (loadMovie) mozna ladowac .jpg czy .avi. Wowczas preloadery do nich trzeba pisac w filmie glownym.
Napisano 27 Sierpień 200420 l "Tzn. chcialbym zeby w zaleznosci od wartosci jaka przyjmie wprowadzona przeze mnie zmienna (powiedzmy film_target), przyciski znajdujace sie w glownym menu stawaly sie aktywne badz nie aktywne." Button.enabled = true/false ### do while zabije Ci procek. Do sprawdzania stanu zaladowania uzyj onEnterFrame. Kiedys napisalem cos takiego, powinienes zalapac idee: function preloader (nazwa_mc) { this.onEnterFrame = function () { size.text = "rozmiar: " + nazwa_mc.getBytesTotal () + " kb"; proc.text = Math.floor ((nazwa_mc.getBytesLoaded () / nazwa_mc.getBytesTotal ()) * 100) + " %"; if (proc.text == "100 %") { this.onEnterFrame = null; proc.text = ""; } }; } To fragment kodu OOP, wiec wyjety z kontekstu nie zadziala tak jakbys chcial. Funkcja ta byla wywolywana tutaj: function load_jpg (i, mc) { //wyswietla nr zdjecia numerZdjecia = i + 1 + "/" + xmax; name = pic_url[i]; loadMovie (name, mc); this.onEnterFrame = function () { if (this[mc].getBytesTotal () > 0) { preloader (this[mc]); } }; opis = pic_name[i]; }
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto