| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jul 2003
Beiträge: 38
| MovieClipLoader aus MovieClipLoader aufrufen
Hallo Leute, vielleicht fällt Euch spontan ein, was da falsch ist: Ich habe einen MCL, der immer auf _level1 den jeweils benötigten Inhaltsfilm lädt (das alles kommt aus einer xml, deren attribute am menuBtn angehängt sind). Bei manchen Filmen kommt es nun vor, das ein Bild in einen Bildcontainer geladen weden muss, daher habe ich einen extra MCL für diese Bilder geschrieben, denn onLoadInit soll andere Sachen machen als die des Haupt-MCL zum Laden des Level1. Nur: der imageListener, den ich aus dem ersten MCL aus aufrufe, wird nie ausgeführt. Warum? Code: /*********************************Loader Bilder************************************/
//init
var image_MCL = new MovieClipLoader();
var image_MCL_Listener = new Object();
//callbacks
image_MCL_Listener.onLoadStart = function(targetMC) {
trace("image_MCL_Listener start"+targetMC);//-> geht nicht
};
image_MCL_Listener.onLoadProgress = function(targetMC, loadedBytes, totalBytes) {
var prozent = Math.round((loadedBytes/totalBytes)*100);
};
image_MCL_Listener.onLoadComplete = function(targetMC) {
targetMC.geladen = true;
};
image_MCL_Listener.onLoadInit = function(targetMC) {
trace("image_MCL_Listener "+targetMC);//-> geht nicht
targetMC._height = 130;
targetMC._xscale = targetMC._yscale;
};
image_MCL_Listener.onLoadError = function(targetMC, errorCode) {
//ladeAnzeige("error");
};
image_MCL.addListener(image_MCL_Listener);
/***************level1 loader************/
//init
var myMCL = new MovieClipLoader();
var myListener = new Object();
myListener.onLoadStart = function(targetMC) {
ladeAnzeige("loading content");
//var loadProgress = myMCL.getProgress(targetMC);
};
myListener.onLoadProgress = function(targetMC, loadedBytes, totalBytes) {
var prozent = Math.round((loadedBytes/totalBytes)*100);
ladeAnzeige("loading content "+prozent+" %");
};
myListener.onLoadComplete = function(targetMC) {
//ladeAnzeige(targetMC+" complete");
targetMC.geladen = true;
//ladeAnzeige("");
//var loadProgress = myMCL.getProgress(targetMC);
};
myListener.onLoadInit = function(targetMC) {
ladeAnzeige("");
//wenn _level1 geladen ist, hauptText_txt füllen
if (this.texte != undefined && this.texte != "") {
_level0.text_xml.load(this.texte);
}
if (this.tooltips != undefined && this.tooltips != "") {
_level0.tooltip_xml.load(this.tooltips);
}
if (this.bild != undefined && this.bild != "") {
trace("myMCL "+this.bild); //-> geht
_level1.image_MCL_Listener.loadClip(this.bild, "_level1.bildcontainer_mc.bild_mc");
//loadMovie(this.bild, "_level1.bildcontainer_mc.bild_mc");
}
if (this.btn.showChosen != undefined && this.btn.showChosen != "") {
_level0.faerbeBtnNachTitle(this.btn.showChosen);
chosenBtn = _level0.searchBtn(this.btn.showChosen);
_global.chosenBtn = _level0[chosenBtn];
}
};
myListener.onLoadError = function(targetMC, errorCode) {
ladeAnzeige("error loading "+targetMC);
};
myMCL.addListener(myListener); |
| | |
| | #2 (permalink) |
| liebt Skorpionin Registriert seit: Apr 2003
Beiträge: 1.258
| Code: _level1.image_MCL_Listener.loadClip(this.bild, "_level1.bildcontainer_mc.bild_mc") Dann frage ich mich, ob man als zweiten Parameter wirklich einen String übergeben darf..? Hier wird doch ein Objekt erwartet? PHP-Code: |
| | |
| | #3 (permalink) | ||
| Gast
Beiträge: n/a
| Zitat:
Zitat:
PHP-Code: | ||
|
| | #4 (permalink) |
| Neuer User Registriert seit: Jul 2003
Beiträge: 38
|
Danke Euch für die Antworten! [_level1. image_MCL_Listener war ein Schreibfehler nur hier] Aber auch mit _level0.image_MCL_Listener.loadClip(this.bild, "_level1.bildcontainer_mc.bild_mc") und mit image_MCL_Listener.loadClip(this.bild, "_level1.bildcontainer_mc.bild_mc")geht nix. Der _level1 wurde vorher schon (von einer anderen Funktion ausgelöst) erfolgreich mit dem myMCL geladen. Wenn er geladen ist (bei LoadInit), soll dann das Bild geladen werden mit dem imgListener. this.bild kommt auch bis zum _level1-Loader durch, nur dann, beim imageListener kommt das nicht mehr an (siehe trace bei beiden Loadern). Also, alles andere funktioniert wunderbar, nur der imageListener tut nix. Übrigens, die gleiche Übergabe wie bei this.bild mache ich schon vorher mehrere Male an den _level1-Loader, ich übergebe den Pfad aus einer xml-Datei (für die Filmdatei u.v.a.m), läuft perfekt. |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Jul 2003
Beiträge: 38
|
Abschließend meine Lösung: Warum auch immer, aber wenn ich den MCL der Bilder nicht über einen eigenen Listener anspreche, sondern direkt, dann funktioniert alles wunderbar… Hier der Code meiner Lösung: Code: //myListener ist wie gehabt der Listener der Level1-Filme, sind die erfolgreich geladen, dann:
myListener.onLoadInit = function(targetMC) {
//this.btn.bild ist eine var im LadeBtn, die ich beim LadeBtn-Klick an den Listener weiterreiche
if (this.btn.bild != undefined && this.btn.bild != "") {
imgMCL.loadClip(this.btn.bild, "_level1.bildcontainer_mc.bild_mc");
}
}; Code: var imgMCL = new MovieClipLoader();
imgMCL.onLoadStart = function(targetMC) {
var loadProgress = imgMCL.getProgress(targetMC);
ladeAnzeige("onLoadStart "+targetMC);
};
imgMCL.onLoadInit = function(targetMC) {
ladeAnzeige("onLoadInit "+targetMC);
targetMC._width = 170;
targetMC._height = 170;
};
imgMCL.onLoadError = function(targetMC, errorCode) {
ladeAnzeige("ERROR:"+errorCode);
}; Und: danke für Eure Anregungen. Geändert von blaupause (25-02-2007 um 15:57 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |