MovieClipLoader nacheinander aufrufen

Budman

Erfahrenes Mitglied
Hallo!

Ich hab ein Problem mit der Reihenfolge des Aufrufs meines MCLs. Ich möchte drei unterschiedliche Filme über den MCL einladen. Wie stelle ich es nun an, dass er diese Filme nacheinander lädt?

PHP:
// ----- erstellen + positionieren mainloader_mc ----
this.createEmptyMovieClip("preloader_mc", 10);
mainloader_mcl.loadClip("preloader.swf","preloader_mc");
preloader_mc._x = 229;
preloader_mc._y = 200;
// ----- mainloader unsichtbar ----------------------
_root.preloader_mc.onEnterFrame = function() {
	this._visible = false;
};
// ----- erstellen und positionieren Navigation -----
this.createEmptyMovieClip("navigation_mc", 20);
// ----- erstellen und positionieren standard MC ----
this.createEmptyMovieClip("standard_mc", 5);
// ----- Filme einladen -----------------------------
mainloader_mcl.loadClip("navigation.swf","navigation_mc");
mainloader_mcl.loadClip("home.swf","standard_mc");

Nun wird ja der MCL dreimal aufgerufen, aber leider nicht hintereinander...

Danke schonmal, ich bin halt echt noch ziemlicher Newbie in Sachen Flash :confused:

Gruss Bud
 
Hi,

Probier einmal folgendes aus (einfache Version ohne onLoadProgress etc.):
PHP:
var mcl = new MovieClipLoader();
var list = new Object();
var clip = new Array("mc1.swf", "mc2.swf", "mc3.swf");
var dest = new Array("container1", "container2", "container3");
var current = 0;

list.onLoadComplete = function() {
	loadNextClip();
}

mcl.addListener(list);

function loadNextClip() {
    if (current < clip.length) {
		mcl.loadClip(clip[current], this[dest[current]]);
		current ++;
	}
}

loadNextClip();
Die Instanznamen und die zu ladenden Dateinamen sind in Arrays festgehalten. Die Funktion loadNextClip lädt immer den nächsten Clip in der Liste, solange der Index "current" kleiner als die Länge des Arrays ist.

Gruß
.
 
EDIT: Der Teufel und das Detail....

Ohne Listener und Aufruf der Funktion wird's kaum gehen. Danke nochmal, mit meinem nächsten Problem wird wohl leider nicht lange auf sich warten lassen...! :(

Danke und Gruss Bud
-----------------------------------------------------------

Hallo!

Vielen Dank für die schnelle Antwort. Du bist mein Retter in der Not.

Es tut mir leid, ich bin scheinbar zu dumm für sowas. Sorry, aber ich bin hier wirklich am verzweifeln. Ich habe heute glaube ich mehr als ein halbes Dutzend unterschiedliche Tuts zum Thema Listener und MCl gelesen, und eigentlich gedacht, ich kriegs gebacken...

So hab ich's mal versucht (ohne Erfolg versteht sich):
PHP:
var mainloader_mcl = new MovieClipLoader();
var list = new Object();
var clip = new Array("preloader.swf", "navigation.swf", "home.swf");
var dest = new Array("preloader_mc", "navigation_mc", "standard_mc");
var current = 0; 
// ----- mainloader --------------------------------
mainloader_mcl.onLoadStart = function (target_mc){
	_root.preloader_mc._visible = true;
}
mainloader_mcl.onLoadProgress = function (target_mc,loadedBytes,totalBytes){
	percent = Math.round(loadedBytes/totalBytes*100);
	_root.preloader_mc.percentText.text = percent+"%";
	_root.preloader_mc.bar._xscale = percent;
}
mainloader_mcl.onLoadComplete = function(target_mc){
	_root.preloader_mc._visible = false;
}
mainloader_mcl.onLoadInit = function(target_mc){
	target_mc.gotoAndPlay("start");
}
// ----- loadNextClip ------------------------------
function loadNextClip() {
    if (current < clip.length) {
        mainloader_mcl.loadClip(clip[current], this[dest[current]]);
        current ++;
    }
}

// ----- einladen der Filme -------------------------
list.onLoadComplete = function(){
	loadNextClip();
}
// ----- erstellen preloader -----------------------
this.createEmptyMovieClip("preloader_mc", 10);
// ----- preloader unsichtbar ----------------------
_root.preloader_mc.onEnterFrame = function() {
	this._visible = false;
};
// ----- erstellen Navigation -----------------------
this.createEmptyMovieClip("navigation_mc", 20);
// ----- erstellen standard MC ----------------------
this.createEmptyMovieClip("standard_mc", 5);
// ----- preloader positionieren --------------------
preloader_mc._x = 229;
preloader_mc._y = 200;

Gruss Bud
 
Zuletzt bearbeitet:
Zurück