Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-09-2005, 15:55   #1 (permalink)
Umlungu
 
Registriert seit: Jul 2005
Beiträge: 16
Verständnisfrage MovieClipLoader/addListener

Ist es möglich mit einem einzigen MovieClipLoader unterschiedliche Clips in unterschiedliche Zielclips zu laden, und die dabei von einem einzigen Listener zu überwachen?

Der Code würde so aussehen:

ActionScript:
  1. var Lader = new MovieClipLoader();
  2. LaderListener = new Object();
  3. Lader.addListener(LaderListener);
  4. LaderListener.onLoadError = function (zielClip1, URLNotFound)
  5. {
  6.   trace("zielClip1 will nicht")
  7. }
  8. LaderListener.onLoadError = function (zielClip2, URLNotFound)
  9. {
  10.   trace("zielClip2 will nicht")
  11. }
  12. test1_btn.onRelease = function () {
  13.     Lader.loadClip("../ladeClip1.swf", zielClip1_mc);
  14. }
  15. test2_btn.onRelease = function () {
  16.     Lader.loadClip("../ladeClip2.swf", zielClip2_mc);
  17. }

Dabei bekomme ich für beide Buttons den "zielClip2 will nicht"-trace, obwohl ich sehen kann dass er versucht hat die jeweiligen clips zu laden ("Error opening URL "file: <snip> ladeClip1.swf"")


Wenn ich aber alles doppelt erstelle und abfrage funktioniert alles richtig:

ActionScript:
  1. var Lader1 = new MovieClipLoader();
  2. var Lader2 = new MovieClipLoader();
  3.  
  4. LaderListener1 = new Object();
  5. LaderListener2 = new Object();
  6. Lader1.addListener(LaderListener1);
  7. Lader2.addListener(LaderListener2);
  8.  
  9. LaderListener1.onLoadError = function (zielClip1, URLNotFound)
  10. {
  11.   trace("zielClip1 will nicht")
  12. }
  13. LaderListener2.onLoadError = function (zielClip2, URLNotFound)
  14. {
  15.   trace("zielClip2 will nicht")
  16. }
  17. function LadeClip1 () {
  18. Lader1.loadClip("../ladeClip1.swf", zielClip1_mc);
  19. }
  20. function LadeClip2 () {
  21. Lader2.loadClip("../ladeClip2.swf", zielClip2_mc);
  22. }
  23. test1_btn.onRelease = function () {
  24.     LadeClip1 ()
  25. }
  26. test2_btn.onRelease = function () {
  27.     LadeClip2 ()
  28. }

Habe ich etwas faslch verstanden, oder muss ich wirklich zwei MovieClipLoader und zwei Listener erstellen?

Ein "Yo" würde reichen, aber ich wäre auch für eine intelligente Lösung dankbar...
umlungu ist offline   Mit Zitat antworten
Alt 01-09-2005, 17:15   #2 (permalink)
flashkonsole
 
Benutzerbild von Flashkonsole
 
Registriert seit: Sep 2003
Ort: Berlin
Beiträge: 59
Ist logisch das deine erste Version nicht geht.

LaderListener.onLoadError = function (zielClip1, URLNotFound)
{
trace("zielClip1 will nicht")
}
//hiermit überschreibst du deine erste Function!
LaderListener.onLoadError = function (zielClip2, URLNotFound)
{
trace("zielClip2 will nicht")
}

Du brauchst ja nur einen Loader und einen Listener. Wieso 2??
mach mal so:

LaderListener.onLoadError = function (zielClip, URLNotFound)
{
trace(zielCLip + " will nicht")
}
Flashkonsole ist offline   Mit Zitat antworten
Alt 02-09-2005, 07:58   #3 (permalink)
Umlungu
 
Registriert seit: Jul 2005
Beiträge: 16
Gut, mit der trace-Funktion hätte ich aufpassen müssen; aber wenn andere Anweisungen als trace() vorhanden sind wird nur die zweite durchgeführt:
ActionScript:
  1. LaderListener.onLoadError = function (zielClip1, URLNotFound)
  2. {
  3.   testkreis1_mc._x = 150
  4.   trace(zielClip1+" will nicht")
  5. }
  6.  
  7. LaderListener.onLoadError = function (zielClip2, URLNotFound)
  8. {
  9.   testkreis2_mc._x = 350
  10.   trace(zielClip2+" will nicht")
  11. }
Wie verhindere ich dass die erste Anweisung überschrieben wird?
umlungu ist offline   Mit Zitat antworten
Alt 02-09-2005, 16:40   #4 (permalink)
flashkonsole
 
Benutzerbild von Flashkonsole
 
Registriert seit: Sep 2003
Ort: Berlin
Beiträge: 59
Vielleicht habe ich mich nicht klar genug ausgedrückt.

Wenn du einen Listener definierst kannst du ihm nicht zweimal die gleiche function "onLOadError" zuweisen. da du sonst die erste überschreibst!
Wenn du je nach clip was ändern musst dann kontrolliere es in einer function:

LaderListener.onLoadError = function (zielClip, URLNotFound)
{
trace(zielCLip + " will nicht");
//zielclip ist der in den Loader geworfene clip egal wie der heisst wenn du ihn in //den loader wirfst
if(zielCLip == "der name des clips") testkreis1_mc._x = 150;
if(zielCLip == "der andere name des clips") testkreis2_mc._x = 350;

}
Flashkonsole ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 14:32 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele