Preloader dziwny problem.

Technologia Flash, czyli animacja na potrzeby stron WWW to świat daleko odbiegły od zwykłego programowania i kodu. Zapytaj o pomoc i podziel się z nami Twoimi problemami z zakresu Flasha.
introder00
Posty: 8
Rejestracja: wt paź 20, 2009 4:31 pm

Preloader dziwny problem.

Post autor: introder00 »

Mam 2 pliki swf. Pierwszy nazywa sie "Preloader" a drugi "Main"
Jak nazwy wskauzuja w pierwszym jest tylko jedna klatka kluczowa z procentowym preloaderem i klatka akcji ktora jet skojarzona z plikiem "main.swf" ktory jest zawartoscia strony.

Problem polega na tym, że kiedy wczytuje sie strona to jest ok tzn pojawia sie ladnie preloader i sa procenty ale kiedy dojdzie do 100% to i owszem laduje sie plik"main.swf. ale bez animacji wstepnej czyli jest juz na poziomie pierwszego stop();

Nie wiem czy wyrazam sie jasno... chodzi o to ze po wejsciu na serwer widac film "preloader.swf" ale tle rownierz odrazu uruchamia sie film"main.swf" tak wiec po zaladowaniu zamiast wstepnej animacji drugiego filmu widze juz jej moment postoju.

o to kod preloadera:

Kod: Zaznacz cały

var requestObj:URLRequest = new URLRequest("loadmovie/main.swf");
var loaderObj:Loader = new Loader();

loaderObj.load(requestObj);

loaderObj.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, preloadProgress);

function preloadProgress(event:ProgressEvent):void{
	var loadedPercent:int = event.bytesLoaded / event.bytesTotal * 100;
	percent.text = loadedPercent + "%";
	}

loaderObj.contentLoaderInfo.addEventListener(Event.COMPLETE, preloadComplete);
function preloadComplete(event:Event):void {
	addChild(loaderObj);
}
Nic z tego nie rozumiem. Aha uzywam wersji Flash CS4 i AS3. Gdzie do cholery jest opcja simulate download? bo przeszukalem wszytsko i nigdzie nie masz musze sie meczyc z uploadami na serwer.
Ostatnio zmieniony wt paź 20, 2009 6:41 pm przez introder00, łącznie zmieniany 1 raz.
xeo
Nowy
Nowy
Posty: 51
Rejestracja: ndz lip 29, 2007 9:58 am

Re: Preloader dziwny problem.

Post autor: xeo »

W pliku z animacją na początku daj stop() a do kodu dodaj jeszcze:

Kod: Zaznacz cały

loaderObj.contentLoaderInfo.addEventListener(Event.INIT, preloadInit);
function preloadInit(event:Event):void{
   event.target.play();
}
z tym tylko może coś mi się pomieszało -> event.target.play(); :mrgreen:
introder00
Posty: 8
Rejestracja: wt paź 20, 2009 4:31 pm

Re: Preloader dziwny problem.

Post autor: introder00 »

Nie dziala! ok daje stop w "main.swf" w pierwszej klatce ale jak zmusic flesza by po wczytaniu przeszedl do klatki drugiej ?

dodatko jak daje test movie/view/simulate download to czasami pojawia mi sie w outpud taki komentarz: "VerifyError: Error #1014: Nie znaleziono klasy flash.events::Event. at global$init()"

Dzieje sie tak kiedy troche zwlekam w odpaleniu opcji simulate.
Ktos ma jakis pomysl?

aha glowny plik czyli ten co sie ma wczytac wazy 2MB. Zrobilem myk i odpalilem go samego w simulation dowload i tu zdziwienie. Plik odrazu sie uruchamia.. a przeciez wazy 2MB wiec przy 56k jest nie mozliwe
xeo
Nowy
Nowy
Posty: 51
Rejestracja: ndz lip 29, 2007 9:58 am

Re: Preloader dziwny problem.

Post autor: xeo »

Zamiast event.target.play(); wklej kod:

Kod: Zaznacz cały

var loader:Loader = LoaderInfo(event.target).loader;
var mc:MovieClip = loader.content as MovieClip;
mc.play();
introder00
Posty: 8
Rejestracja: wt paź 20, 2009 4:31 pm

Re: Preloader dziwny problem.

Post autor: introder00 »

nie dziala wyskakuje taki blad:

TypeError: Error #1009: Nie można uzyskać dostępu do właściwości lub metody dla odniesienia do obiektu null.
at Preloader_fla::MainTimeline/preloadInit()
xeo
Nowy
Nowy
Posty: 51
Rejestracja: ndz lip 29, 2007 9:58 am

Re: Preloader dziwny problem.

Post autor: xeo »

Wklej cały kod jaki wpisałeś na jego podstawie sprawdzę
introder00
Posty: 8
Rejestracja: wt paź 20, 2009 4:31 pm

Re: Preloader dziwny problem.

Post autor: introder00 »

Kod: Zaznacz cały

var requestObj:URLRequest = new URLRequest("main.swf");
var loaderObj:Loader = new Loader();

loaderObj.load(requestObj);

loaderObj.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, preloadProgress);

function preloadProgress(event:ProgressEvent):void {
	var loadedPercent:int = event.bytesLoaded / event.bytesTotal * 100;
	preloader_mc.percent.text =  loadedPercent + "%";
	
}

loaderObj.contentLoaderInfo.addEventListener(Event.COMPLETE, preloadComplete);
function preloadComplete(event:Event):void {
addChild(loaderObj);	
}
loaderObj.contentLoaderInfo.addEventListener(Event.INIT, preloadInit);
function preloadInit(event:Event):void{
 var loader:Loader = LoaderInfo(event.target).loader;
var mc:MovieClip = loader.content as MovieClip;
mc.play();
}
i tak jak mowie preloader dziala tzn sie wczytuja sie % ale po wczytaniu drugi film jest juz wgrany czyli widze jego stan pierwszego stop.
A jesli dam stop na 1 klatce to po zaladowaniu stoi na tej pierwszej klatce nie omija jej

No i wyskakuje w outpud ten komentarz co pisalem
xeo
Nowy
Nowy
Posty: 51
Rejestracja: ndz lip 29, 2007 9:58 am

Re: Preloader dziwny problem.

Post autor: xeo »

Kod: Zaznacz cały

var requestObj:URLRequest = new URLRequest("main.swf");
var loaderObj:Loader = new Loader();
loaderObj.load(requestObj);

loaderObj.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, preloadProgress);
function preloadProgress(event:ProgressEvent):void {
   var loadedPercent:int = event.bytesLoaded / event.bytesTotal * 100;
   preloader_mc.percent.text =  loadedPercent + "%";
}

loaderObj.contentLoaderInfo.addEventListener(Event.INIT, preloadInit);
function preloadInit(event:Event):void{
	var loader:Loader = LoaderInfo(event.target).loader;
	var mc:MovieClip = loader.content as MovieClip;
	addChild(mc);
	mc.play();
}
Jeżeli Ci nie zadziała to znaczy że pewnie stop() masz wewnątrz klipa który jest w pliku main.swf czyli trzeba zmienić linijkę mc.play();
U mnie działa bez żadnych błędów.
ODPOWIEDZ