Bild im vorraus laden (nicht preloader...)

pat_morita

Mitglied
Hi,

in meiner Bildgalerie wir nach Klick auf einen Next, previous Button oder Thumbnails das entsprechende Bild geladen. Funktioniert tadellos.

wie kann ich es aber schaffen, daß er im Hintergrund bereits die anderen Bilder nachlädt? geht das?

Beispiel, ich bin bei Bild eins, klicke zu Bild zwei und will dann, daß er während ich Bild zwei betrachte schon mit dem Laden weitermacht.. Bild 3,4,5,... etc.

Muß ich dafür komplett umstrukturieren?
oder in nen anderen MC laden und dann austauschen?

Hier der Code

Timeline:
PHP:
// XML-Objekt erzeugen (Bezeichner: mein_xml)
mein_xml = new XML();

// Störende Leerzeichen ignorieren
mein_xml.ignoreWhite = true;

//testvariable, wird später per Button deklariert
var kategorie = 1;

// XML-Datei einlesen 
if (_root.kategorie == 1) {
	mein_xml.load("werbung.xml");
}
// Lesevorgang        
mein_xml.onLoad = function(status) {
	if (status && this.loaded) {
		anzahl = mein_xml.firstChild.childNodes.length;
		geladen = true;
		spacing = 60;

//Thumbnails laden
		for (i=0; i<anzahl; i++) {
			this.picHolder = this.firstChild.childNodes[i];
			this.thumbHolder = thumbnails.createEmptyMovieClip("thumbnail"+i, i);
			//trace(this.thumbHolder._width);
			this.thumbHolder._x = i*spacing;
			this.thumbLoader = this.thumbHolder.createEmptyMovieClip
			this.thumbLoader.loadMovie(this.picHolder.attributes.thmb);
			this.thumbHolder.main = this.picHolder.attributes.pic;
			this.thumbHolder.onRelease = function() {
				bild_mc.loadMovie(this.main);
				trace(this.thumbHolder._width);
				aktbild = this.thumbHolder._x/spacing
			};			
		}
		aktbild = 0;
		ladeBild(aktbild);
	}
};

// Funktion, welche die Daten der XML-Datei verarbeitet
function ladeBild(paktbild) {
	status_mc._visible = 1;
	bild = mein_xml.firstChild.childNodes[paktbild].attributes.pic;
	bildname = mein_xml.firstChild.childNodes[paktbild].attributes.name;
	description = mein_xml.firstChild.childNodes[paktbild].attributes.description;
	loadMovie(bild, "bild_mc");
	titel_txt.text = bildname;
	description_txt.text = description;
}

der nextbutton stellt einfach aktbild auf ++ und der previous button auf --

jemand eine Idee?

lg Pat
 
Zuletzt bearbeitet:
Hi,

Du könntest dazu direkt nach dem Laden der XML-Datei im Hintergrund unsichtbare Container erstellen, in die Du nacheinander die großen Bilder einlädst. Sobald ein Bild geladen ist, erstellst Du mit dem BitmapData-Objekt einen Snapshot, den Du dann in Deinen Hauptcontainer legen kannst.

Dazu ist ggf. eine Umstellung Deiner bisherigen Daten notwendig - poste bitte Deine Quelldatei (Flash8-Format), die dazugehörige XML und eine Beispielbilder, damit ich damit arbeiten kann. Dann erstelle ich Dir gerne ein Beispiel.

Gruß
.
 
ich werds runterbrechen und verkleinern, dann lad ichs hoch (erst heute abend)
mti dem Object hab' ich noch nicht gearbeitet. Ich werd mich mal einlesen, dann versteh ich zumindest auch, was du da dann machst :)

danke im vorraus, lg pat
 
ok, hier ist es, hab's ordentlich runtergebrochen und auf's wesentliche reduziert.

Bilder müssen in den Ordner ../bilder/artwork
Thumbs in den Ordner ../thumbs/artwork
XML zur flashdatei.

bin echt gespannt ob das geht..

lg pat
 
Zuletzt bearbeitet:
Hi,

ich habe das Ding mal auf meine Weise umgesetzt, da ich an Deiner Datei zuviel ändern müsste (allein das Anzeigen des Bildes und der Informationen hast Du 3 mal im Code stehen ...).

Gruß
.
 

Anhänge

guten morgen,

ja, das Bildladen hab ich mittlerweile schon korrigiert, das war da zu oft drin.

Vielen Dank für deine Mühe, ich werd's mir heute abend mal ansehen!!

lg, Pat
 
Zurück