Problem mit for-Schleife

MonoMental

Erfahrenes Mitglied
Hallo zusammen,

sitze vor einem kleinen Problem, dass ich irgendwie nicht gelöst bekomme. Habe eine for-Schleife, die mir eine Navigation zusammenrödelt (untereinander). Dabei werden Textfelder dynamisch erstellt, mit XML-Daten gefüllt und anschließend wird ein MC drumgepackt, der dann über on (Release) etc interaktiv ansteuerbar ist.

Code:
for (i=0; i<chapters; i++) {
    if (i>0) {
        y_pos += 20;
        this["button"+i] = _root.createEmptyMovieClip("button"+i, i);
        this["button"+i].createTextField("nav"+i,this.getNextHighestDepth(),20,y_pos,300,20);
        this["button"+i]["nav"+i].text = this["my_xml"+i].firstChild.firstChild.childNodes[0].firstChild;
    } else {
        y_pos = 70;
        this["button"+i] = _root.createEmptyMovieClip("button"+i, i);
        this["button"+i].createTextField("nav"+i,this.getNextHighestDepth(),20,y_pos,300,20);
        this["button"+i]["nav"+i].text = this["my_xml"+i].firstChild.firstChild.childNodes[0].firstChild;
    }
    
    this["button"+i].onRollOver = function() {
        eval("button"+i).tween("_alpha",50,0.3,"linear",0);
    }
    this["button"+i].onRelease = function() {
        trace(i);
    }

}
Das Zusammenbauen klappt alles wunderbar, jedoch an der Stelle, wo das onRelease definiert ist, gibt's Probleme: er gibt mir immer nur das letzte i dort aus und das für jeden einzelnen button. D.h. jedes Navigationselement, auf dass ich klicke, gibt mir (in diesem Fall) 4 aus, da die Variable "chapters" = 5 ist (Anzahl von Elementen in einem bestimmten Knoten):

Code:
    this["button"+i].onRelease = function() {
        trace(i);
    }
Wie kann ich Flash sagen, dass er beim onRelease den aktuellen Zählerstand übernehmen soll bzw mir beim onRelease halt das entsprechende i ausgibt?

Danke schonmal im Voraus!
 
Ich liebe tutorials.de. Wie so oft war ich schneller und hab's selbst gelöst... i wurde immer überschrieben und war daher immer das max. des Schleifendurchlaufs. Über eine Hilfsvariable bzw. einem Namen, der dem entsprechenden MC zugewiesen wurde (der gleich i ist), hat es funktioniert.
 

Neue Beiträge

Zurück