Preloader für Slideshow mit externen Bildern

sexmagic

Gesperrt
Guten Morgen alle zusammen.

Wiedermal bereitet mir Flash Kopfschmerzen :)

Folgendes Problem:
Ich habe ein Actionscript gefunden das genau das tut was ich benötige, es liest eine xml Datei mit Bilderpfaden aus und Zeigt Sie dann in einer Slideshow an, das funktioniert auch soweit alles perfekt, mein Problem ist das ich viele Bilder habe und ich nicht genau weis ob Flash alle Bilder einliest oder immer nur das nächste, da das gleich mal 50 Bilder sein können dachte ich mir damit User mit langsamer Leitung nicht schon wieder von der Seite weg sind bevor die Slideshow beginnt baue ich einen Preloader ein.

:)

Gesagt getan, ich habe gelesen und gesucht und dann hab ich mich versucht, herausgekommen ist aber nur Schwachsinn :)

Also ich habs nicht geschafft den Preloader einzubauen und schon garnicht einen Preloader der zb nur 5 Fotos vorläd und erst beim 5 die nächsten 5.

Vielleicht ist meine Überlegung auch blödsinn und darum würde ich bitte das sich das jemand mal kurz anschaut und mir vielleicht ein paar tips geben kann wie ich das ganze optimieren könnte.

Ich wäre sehr dankbar für Hilfe.

gruss

sm


PS: Die Datei slideshow.fla ist das original wie ichs derzeit verwende, die Datei slideshow+pre.fla ist die wo ich versucht habe einen Preloader einzubauen.
 

Anhänge

  • slideshow.fla
    52,5 KB · Aufrufe: 330
  • slideshow+pre.fla
    58,5 KB · Aufrufe: 227
Hallo,

beim Exportieren deiner Datei wird erst einmal ein Fehler ausgegeben - sowas kann nicht funktionieren ;). Ansonsten kann man dein Skript schlecht testen, da die *.xml-Datei inkl. Bilder fehlt.
Dein Preloader funktioniert abgesehen davon eigentlich einwandfrei, bloss überprüft er nicht den Ladestatus der Bilder sondern der *.swf selbst (_root.getBytesLoaded()).

Im Skript, dass du eingebaut hast, ist bereits ein Preloader integriert, du musst bloss nur noch entsprechende Preloader-Instanzen und einen leeren MovieClip mit Namen "watch_mc" auf die Bühne legen. Das hier ist der relevante Codeauschnitt:

Code:
function createLoader(i,data,num) {
	thisLoader=eval("container_mc.loader"+i+"_mc");
	thisLoader._alpha=0;
	thisLoader.loadMovie(data[num].path);
	watcher_mc.onEnterFrame=function () {
		var picLoaded = thisLoader.getBytesLoaded();
		var picBytes = thisLoader.getBytesTotal();
		if (isNaN(picBytes) || picBytes < 4) {
			return;
		}
		if (picLoaded / picBytes >= 1) {
			swapPlace("container_mc.loader2_mc",1);
			alphaTween = new mx.transitions.Tween(thisLoader, "_alpha", mx.transitions.easing.Regular.easeOut,0,100,_global.fadetime,true);
			timerInterval = setInterval(imageGen,_global.numPause,data);
			delete this.onEnterFrame;
		}
	}
}

gruss
 
Hallo Luke,

erstmal vielen Dank das du dir die Mühe gemacht hast die Dateien anzusehen.

Ich gebe zu ich hab keinen Ahnung von AS da ich es normalerweise nicht benötige.

Die Fehlermeldung kommt aus dem Grund da ich die Datei in der das swf liegt per php in die Hauptseite include und dadurch zeigen die Bilderpfade von der Hauptseite in die entsprechenden unterordner, ich habe nicht bedacht das das bei einem Test nicht funktioniert, sorry dafür.

Zum Preloader, das hab ich jetzt nicht ganz verstanden, ich habe mir aus diversen Tutorials diesen zusammengebaut und dann versucht den zu integrieren wobei ich ehrlichgesagt nicht wirklich wusste was ich da tue. *g*

Ich hab glaub ich verstanden wie das ganze ablaufen muss.
Ich muss einen neuen MovieClip erstellen der als erstes auf der Hauptzeitleiste liegt, dieser Clip muss so lange wieder aufgerufen werden bis alles geladen ist und dann auf das nächste Bild springen und somit das Script für die Slideshow laden.

Was mich brennent interessieren würde ist, läd Flash nun alle Bilder die in der XML Datei liegen rein oder immer nur eins?

Soll ich meinen Preloader nun entfernen und versuchen den anderen zum laufen zu bekommen oder soll ich meinen berichtigen?

Nochmal herzlichen Dank für deine Hilfe.

Lieben Gruss

-sm
 
Hallo!

Soll ich meinen Preloader nun entfernen und versuchen den anderen zum laufen zu bekommen oder soll ich meinen berichtigen?

Das kommt auf den Zweck des Preloaders an. Wenn du die Bilder preloaden willst, dann bringt dein Preloader nichts, wenn du die *.swf vorladen willst, dann macht dein Ansatz Sinn.

Was mich brennent interessieren würde ist, läd Flash nun alle Bilder die in der XML Datei liegen rein oder immer nur eins?

Die Ladeanweisungen werden für alle Bilder in einer for-Schlaufe, also gleichzeitig aufgerufen.


gruss
 
Danke Luke dann werde ich versuchen den Preloader auf die Bilder auszurichten.

Mein Problem ist das es eben vielen Bilder sind und dann kann es sein das der User schon wieder weiterklickt bevor die Bilder geladen sind.

Hast du nen Tip wie ich das anders regeln könnte?

ZB das der immer nur das nächste Bild vorläd?
 
Hallo,

die Bilder werden zwar vorgeladen, sind aber in ihrer Anzeige nicht vom Fortschritt der anderen Bilder abhängig, d.h. fertig geladene Bilder werden angezeigt. Der Benutzer wird also Bild 1-15 bereits bestaunen können, während die Bilder 16-99 noch geladen werden. Wenn du also keine 4MB grosse Brocken bereitstellst, sollte diese Methode nicht allzu abschreckend sein ;).

gruss
 
Super, ich halte die Bilder so klein wie möglich, ca 50kb pro Bild.

Gut dann is also alles was ich bisher gemacht habe fürn Ar** :)

Bringt es jetzt was einen Preloader einzubauen oder soll ich mir die Arbeit sparen?
 
Hallo,

bei Bilder von 50kb würde auf mich ein Preloader, der den effektiven Fortschritt anzeigt, ein bisschen wie Effekthascherei wirken. Du könntest z.B. eine Sanduhr oder etwas in der Art anzeigen, bis das Bild erscheint.


gruss
 

Neue Beiträge

Zurück