Skocz do zawartości

wczytywanie zewnętrzego swf-a + preloader


Rekomendowane odpowiedzi

Napisano

Witam wszystkich. Czy moglby ktos zyczliwy podsunac mi jakis konkretny przyklad kodu na zaladowanie zew. swf do istniejacego z poprzedzajacym go preloaderem? Otoz, znalazlem wiele tutoriali i przykladow, ale jesli zuz cos zadzialalo to nie bylo widac preloadera podczas wczytywania nowego swfa. Ja zwykle musze nadmienic ze jestem dosc "zielony" - - hehe. Za wszelka pomoc bede niezmiernie wdzieczny, ale prosze nie odsylajcie mnie do innych miejsc. Zalezaloby mi na konkretnym przykladzie jesli to mozliwe, gdyz odwiedzilem juz chyba wiekszosc miejsc zwiazanych z takimi zagadnieniami. Pozdrawiam

  • Odpowiedzi 5
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Napisano

Piszesz że nie było widać preloadera w Twoich przykładach, może to dlatego że uruchamiałeś swfa we flashu albo z dysku gdzie przesył danych jest na tyle szybki że preloader trwa ułamek sekundy. W podglądzie pliku swf we flashu jest coś takiego jak simulate download (w mx 2004 lub podobna nazwa w poprzednich wersjach, nie pamiętam dokładnie)

 

Co do spraw technicznych to narazie powiem tyle że do załadowania swfa używa się funkcji LoadMovieNum lub LoadMovie (pierwszy ładuje na poziomy drugi do innego Movie Clipa) preloader musi być już w swfie którego chcemy załadować.

 

Jak będę miał nieco więcej czasu to podam konkretne przykłady kodu

 

Pozdrawiam

Napisano

Dzieki za sugestie, ale musze powiedziec z wlasnie w ten sposob (poprzez symulowanie ladowania na 56kb) testowalem to zagadnienie. Wlasnie i tu mnie zaskoczyles... myslalem ze preloader powinien znajdowac sie w glownym filmie - w ten sposob wlasnie to zrobilem, kiedy ponawialem proby z umieszczeniem w swf-e ladowanym nic z tego nie wychodzilo... i jeszcze cos... wybacz ale nie znam sie zbytnio na flashu - levele - moze to jest wyjscie...jeszcze raz zwroce sie z prosba o jakis przykladowy nie skomplikowany przykladzik. Dzieki za wskazowki, puki co. Pozdrawiam

Napisano

gdzieś już niedawno pisałem na forum o ładowaniu swf na poziomy ale nie ma problemu, zakładamy że mamy przycisk i po jego naciśnięciu ładuje się swf na stronę głowną a przycisk "znika"

 

on(release)

{

loadMovieNum("sciezka/do/pliku.sfw",0)

}

 

każdy element umieszczony na stronie głównej automatycznie znajduje się na poziomie 0, kiedy ładujemy na poziom 0 jakiegoś swfa, poziom zostaje wyczyszczony i mamy tylko tego swfa którego załadowaliśmy. Jeżeli zamiast 0 wpiszesz 1 to swf zostanie załadowany na poziom wyżej i nałoży się na przycisk.

 

Żeby opróżnić poziom trzeba użyć akcji

 

unLoadMovieNum(poziom);

 

Ale to nie rozwiąze Twojego problemu, zaraz poszukam kodu do preloadera i podam.

 

 

---------------------

 

No więc tak:

Żeby zrobić prosty preloader swf musi składać się z 3 klatek, w 3 klatce umieszczasz to co ma się załadować i musi być do niej przypisana akcja stop();

 

W akcjach 2 klatki umieściłem:

 

wczytane=this.getBytesLoaded();

wszystkie=this.getBytesTotal()

if (wczytane

{miarka=int((wczytane/wszystkie)*100);

procenty=miarka+" %"

_root.arrow._rotation=int(miarka*3.6)

gotoAndPlay(1);}

else {gotoAndPlay(3);}

 

myślę że znaczenie zmiennych wczytane i wszystkie jest logiczne, ważne tylko żeby odwoływały się do this. przy wewnętrznych preloaderach.

Dalej następuje instrukcja warunkowa która zostaje wywołana za każdym razem kiedy film odtwarz 2 klatkę i ilość wczytanych jest mniejsza od rozmiaru pliku. Jeżeli warunek nie zostaje spełniony (tzn. plik został wczytany w całości) wykonana zostaje instrukcja gotoAndPlay(3);

Zmienne miarka, arrow i procenty służą do zrobienia wskaźników ilości wczytanych danych. Wystarczy teraz na scenę do 1 i 2 klatki wrzucić dynamiczne pole tekstowe z Var: procenty i będzie ono wyświetlać ile procent zostało załadowanych. Mam nadzieję że nie poplątałem nic :)

 

Pozdrawiam

Napisano
preloader musi być już w swfie którego chcemy załadować.
Nie do konca musi. Warto zaznaczyc, ze preloader moze byc takze w pliku do którego ładujemy inny. To wygodniejsza metoda jesli masz wczytac wiele swfów lub wiele plikow graficznych.

 

Wykorzystujesz wowczas LoodMovie wczytujac film do mc, a preloader odwoluje sie do tego mc. Czyli w kodzie Vorka zamiast

wczytane=this.getBytesLoaded();

byloby

wczytane=[b]mc[/b].getBytesLoaded();

tylko caly kod juz w pliku docelowym.

 

Zamiast systemow dwuklatkowych lepiej tez wykorzystywac funkcje onEnterFrame co pomaga wszystko wykonac w jednej klatce i lepiej zapanowac nad scieżka czasowa.

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności