Radiobutton-Komponente kann nicht über for-Schleife angesprochen werden

DJTrancelight

Erfahrenes Mitglied
HI,

ich steh grad echt auf dem Schlauch.

Ich möchte 2 Radiobuttonkomponenten (Flash MX) mit den Instanznamen radio0 und radio1 auf der Bühne ansprechen. Die Beschriftung soll nämlich über eine XML-Datei erfolgen leider geht das nach meiner Codeoptimierung nicht mehr.

(sortanzahl_liste ist gleich 2. Die Arrays haben auch alle die Länge von 2)
PHP:
for(i = 0; i < sortanzahl_liste; i++){
	aktListenKnoten = meineSortlist_XML.firstChild.childNodes[i];
	bildArray[i] = aktListenKnoten.attributes.bild;
	unterschriftArray[i] = aktListenKnoten.attributes.bildunterschrift;	
	"radio"+[i].setLabel(unterschriftArray[i]);
	trace("radio"+[i])
	//radio0.setLabel(unterschriftArray[0]);
	//radio1.setLabel(unterschriftArray[1]);
}

Mit dem auskommentierten Code würde es klappen, leider nicht mit diesem Teil:

Code:
"radio"+[i].setLabel(unterschriftArray[i]);
Habe es auch schon ohne die eckige Klammer probiert. Aber letztendlich gibt er ja radio0 und radio1 im trace("radio"+[i]) richtig aus...

Ich finde im Moment echt den Fehler nicht. Sicher werde ich mir auf den Kopf klatschen:), wenn die Antwort hier sehe.

Vielen Dank für eure Hilfe.
 
Zuletzt bearbeitet:
Versuchs mal mit
PHP:
_root("radio"+i).setLabel(unterschriftArray[i]);
Falls der butten nicht auf _root liegt natürlich die entsprechenede Ebene dafür einsetzen ;-)
 
So, doch noch eine Frage offen.:)
Wie kann ich die RadioButton-Komponente dynamisch zur Laufzeit auf die Bühne setzen?
Momentan habe ich einfach 2 Radiobuttonkomponenten auf die Bühne gezogen.

Sprich, ich möchte per for-Schleife vogeben, dass z.B. 2 RadioButtons untereineander erscheinen sollen und diese dann per Instanzname auch angesprochen werden können.
Bei einem MovieClip würde man mit createEmptyMovieClip arbeiten, aber für Komponenten habe ich nichts gefunden. Das in der Flashhilfe beschriebene Buch "Flash verwenden" habe ich nur für Version4 und nicht für mein upgedatetes Flash MX.
Weiß jmd. wo ich ein gutes Onlinenachschlagewerk für Flash MX bezüglich Komponenten finden kann? Hab nur eins für MX 2004 finden können.

also das Ganze sollte dann so funktionieren:
PHP:
rb_yposition = 150; //Postion für den 1. Radiobutton
for(i = 0; i < sortanzahl_liste; i++){ 
    aktListenKnoten = meineSortlist_XML.firstChild.childNodes[i]; 
    bildArray[i] = aktListenKnoten.attributes.bild; 
    unterschriftArray[i] = aktListenKnoten.attributes.bildunterschrift;     
    //PSEUDOCODE
     createEmptyFRadioButton("instanzname"+ i, i );
     _root["instanzname"+i]._y = rb_yposition ;
    _root["instanzname"+i].setLabel(unterschriftArray[i]); 
      rb_yposition  += 20;
}

Das wär super - wenn ihr mir da einen Tipp hättet.
DANKE!
 
Zuletzt bearbeitet:
Das probier ich doch glatt Tobias. Und der Rest des Pseudo-Codes würde stimmen? Da bin ich mal gespannt - hihi. Ich melde mich dann nat. wieder ob es geklappt hat. Jedenfalls vielen Dank im Voraus.

Schöne Grüße
DJ Trancelight
 
HI Tobias,
ich hab das jetzt mal in Google eingegeben, doch dort wird mir erklärt, dass es nur bei AS2.0 gehen soll also ab Flash MX 2004. Ich hab nur Flash MX. Aber ich habe jetzt bei den Komponenten selbst eine Hilfefunktion gefunden. Dort wird mir das hier erklärt:

PHP:
So fügen Sie einem Flash-Dokument in ActionScript eine Komponente hinzu: 

Anmerkung: In dieser Anleitung wird vorausgesetzt, dass Sie über ein gewisses Maß an Erfahrung im Umgang mit ActionScript und dem Bedienfeld Aktionen verfügen. 



1 
 Wählen Sie das Bild in der Zeitleiste aus, in dem Sie die Komponente platzieren möchten.
 
2 
 Rufen Sie das Bedienfeld Aktionen im Expertenmodus auf. 
 
3 
 Schreiben Sie eine Funktion nach dem folgenden Muster, die die Komponenteninstanz erstellt: 
 
 _root.attachMovie("FCheckBoxSymbol", "kontrollkaestchen1", Z);
_root.checkBox1.setValue(false);
_root.checkBox1.setLabel("meinKontrollkaestchen");
 
4 
 Legen Sie mithilfe der ActionScript-Methoden der Komponente weitere Optionen fest, oder überschreiben Sie die während der Anwendungserstellung festgelegten Parameter.

Ich denke mal, das könnte meine Lösung sein.

Viele Grüße
DJ Trancelight
 
Zurück