Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash 8

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-06-2009, 10:20   #1 (permalink)
is online
 
Registriert seit: Jan 2002
Beiträge: 82
MovieClipLoader und Variablenzuweisung

Hallo,

ich lade über weine Schleife mit einem MovieClipLoader externe Bilder in Movieclips. Nach dem Laden eines Bildes soll die Breite ermittelt werden und der Wert (Breite) der Variablen "arsets_width" hinzu addiert werden. Als Endresultat möchte ich die Gesamtbreite der Bilder in "arsets_width" haben.

Vereinfacht sieht das ganze so aus:

PHP-Code:
arsets_width 0;

for(
i=0;i<a_art_data.length;i++){    

    var 
mcl = new MovieClipLoader(); 
    var 
ml = new Object(); 
    
ml.onLoadInit = function(obj) { 

       
_root.arsets_width _root.arsets_width obj._width;    

    }; 
    
mcl.addListener(ml); 
    
mcl.loadClip(a_art_data[i][1],mc.i_artikelbild);      
    
}

trace(arsets_width); 
Irgendwie wird die Breite der einzelnen Bilder innerhalb der onLoadInit-Funktion zwar hinzu addiert, beim Trace Befehl wird aber der wieder der Wert 0 ausgegeben. Wieso funktioniert die Zuweisung mit "_root.arsets_width" innerhalb der onLoadInit-Funktion nicht? Wie kann ich innerhalb der onLoadInit-Funktion meine Variable außerhalb setzen?

Danke schonmal!

Gruß
Oneside
__________________
Die dümmsten Programmierer haben die dicksten Programme...
Oneside ist offline   Mit Zitat antworten
Alt 21-06-2009, 10:26   #2 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
PHP-Code:
var arsets_width:Number 0;

for(
i=0;i<a_art_data.length;i++){    

    var 
mcl = new MovieClipLoader(); 
    var 
ml = new Object(); 
    
ml.onLoadInit = function(obj) { 

      
arsets_width +=  obj._width;    

    }; 
    
mcl.addListener(ml); 
    
mcl.loadClip(a_art_data[i][1],mc.i_artikelbild);      
    
trace(arsets_width);  

__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 21-06-2009, 10:32   #3 (permalink)
is online
 
Registriert seit: Jan 2002
Beiträge: 82
Danke für die schnelle Antwort.

Leider funktioniert das auch nicht so. Ich bekomme durch den trace Befehl "0" asgegeben. Wenn ich den Trace Befehl innerhalb der onLoadInit- Funktion ausgebe, dann werden die richtigen Werte ausgegeben.
__________________
Die dümmsten Programmierer haben die dicksten Programme...
Oneside ist offline   Mit Zitat antworten
Alt 21-06-2009, 11:01   #4 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Zitat:
Zitat von Oneside Beitrag anzeigen
Wenn ich den Trace Befehl innerhalb der onLoadInit- Funktion ausgebe, dann werden die richtigen Werte ausgegeben.
dann passts doch, kannst ja mit nem button testen, nachdem des alles geladen ist, was der wert deiner variable ist.
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 21-06-2009, 11:05   #5 (permalink)
is online
 
Registriert seit: Jan 2002
Beiträge: 82
Wieso denn mit nem Button? Trace sollte mir doch den Wert am Ende ausgeben und der ist leider "0" und nicht der gleiche wie innerhalb der Funktion.

Bei deinem Beispiel

PHP-Code:
var arsets_width:Number 0;

for(
i=0;i<a_art_data.length;i++){    

    var 
mcl = new MovieClipLoader(); 
    var 
ml = new Object(); 
    
ml.onLoadInit = function(obj) { 

      
arsets_width +=  obj._width;    

    }; 
    
mcl.addListener(ml); 
    
mcl.loadClip(a_art_data[i][1],mc.i_artikelbild);      
    
trace(arsets_width);  

Wird aber mit trace am Ende der Wert "0" zurückgegeben. Also wurde arsets_width nicht gesetzt und ich brauche ja am Ende die Gesamtbreite der Bilder in arsets_width und nicht den Wert 0. Es nützt mir ja nix, wenn innerhalb der onLoadInit-Funktion alles richtig addiert wird, dann aber am Ende Außerhalb der Funktion bei trace() wieder alles weg ist, bzw ich keinen Wert nach der Funktion habe
__________________
Die dümmsten Programmierer haben die dicksten Programme...

Geändert von Oneside (21-06-2009 um 11:08 Uhr)
Oneside ist offline   Mit Zitat antworten
Alt 21-06-2009, 11:19   #6 (permalink)
is online
 
Registriert seit: Jan 2002
Beiträge: 82
Ach Mist, ich habs kapiert, der Wert steht mir ja erst zur Verfügung, wenn die Grafiken komplett geladen sind und beim Trace Befehl ist das noch nicht der Fall.

Danke für die Hilfe
__________________
Die dümmsten Programmierer haben die dicksten Programme...
Oneside ist offline   Mit Zitat antworten
Alt 21-06-2009, 11:20   #7 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
genau
schönen sonntag noch
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake 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 19:18 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele