kalterjava
Erfahrenes Mitglied
Hallo zusammen.
Mein Problem ist oben geschildert. Ich möchte mir eine horiz. Navigation bauen deren Inhalte aus einer XML kommen. Es klappt alles, jedoch möchte ich diese in der Funktionalität erweitern. Ich habe für die MouseEvents Hover, Click Textformate und Events geschrieben. Jetzt möchte ich jedoch gerne etwas hinzufügen und zwar einen Status, wenn der MC (Button) angeklickt wurde, dass er das selbe Textformat wie unter Hover zugewiesen bekommt und man somit weiß, auf welcher Seite man sich befindet (In CSS wird ja dafür meist "active" eingesetzt). Jedoch kann ich auf die dyn. erzeugten MCs nicht zugreifen. _root geht ja bei AS 3 nicht mehr, und Stage leider auch nicht.
Fehler " Auf Nullobjekt kann nicht zugegriffen werden ..." Klar, denke das liegt daran, dass beim Aufruf ausserhalb der Funktion die MCs noch nicht auf der Bühne sind.
Die MCs haben die Namensbezeichnung als String von der XML bekommen, diese wurden in einem globalen Array beschriftungArray[] gespeichert. Ich bräuchte jetzt also eine Umwandlung Array zu MovieClip oder so etwas.
Ich habe den umfangreichen Code aufs Wesentliche hier gekürzt.
Wäre toll, wenn jmd. einen Tipp hätte. Hab das bei AS3 noch nicht so sehr verstanden, wie man auf dynamisch erzeugte Objekte zugreifen kann und wie man dynamisch erzeugten Objekten noch Variablen zuweist.
Ich würde jetzt z.B. gerne überprüfen, ob der MC mit der Beschriftung "Home" (kommt aus der XML-Datei) angeklickt wurde.
Also so in der Art
Danke im Voraus für eure Hilfe.
vg vom
kaltenjava
Mein Problem ist oben geschildert. Ich möchte mir eine horiz. Navigation bauen deren Inhalte aus einer XML kommen. Es klappt alles, jedoch möchte ich diese in der Funktionalität erweitern. Ich habe für die MouseEvents Hover, Click Textformate und Events geschrieben. Jetzt möchte ich jedoch gerne etwas hinzufügen und zwar einen Status, wenn der MC (Button) angeklickt wurde, dass er das selbe Textformat wie unter Hover zugewiesen bekommt und man somit weiß, auf welcher Seite man sich befindet (In CSS wird ja dafür meist "active" eingesetzt). Jedoch kann ich auf die dyn. erzeugten MCs nicht zugreifen. _root geht ja bei AS 3 nicht mehr, und Stage leider auch nicht.
Fehler " Auf Nullobjekt kann nicht zugegriffen werden ..." Klar, denke das liegt daran, dass beim Aufruf ausserhalb der Funktion die MCs noch nicht auf der Bühne sind.
Die MCs haben die Namensbezeichnung als String von der XML bekommen, diese wurden in einem globalen Array beschriftungArray[] gespeichert. Ich bräuchte jetzt also eine Umwandlung Array zu MovieClip oder so etwas.
Ich habe den umfangreichen Code aufs Wesentliche hier gekürzt.
Wäre toll, wenn jmd. einen Tipp hätte. Hab das bei AS3 noch nicht so sehr verstanden, wie man auf dynamisch erzeugte Objekte zugreifen kann und wie man dynamisch erzeugten Objekten noch Variablen zuweist.
PHP:
import flash.text.TextField;
import flash.text.TextFormat;
function horizNavi(beschriftungXML:String,…..):void{
//MC Festlegung
var mein_mc:MovieClip = new MovieClip();
mein_mc.name = beschriftungXML as String;
//Textfeld Festlegung
var meinTextfeld_tf:TextField = new TextField();
meinTextfeld_tf.autoSize = TextFieldAutoSize.LEFT;
meinTextfeld_tf.text = beschriftungXML;
mein_mc.buttonMode = true;
mein_mc.mouseChildren = false;
this.stage.addChild(mein_mc);
…
}//end function horizNavi
in der XML-Loader Sequenz steht:
var beschriftungArray:Array = []; //Globale Variable
in einer For-Schleife werden die einzelnen Werte aus der XML gespeichert
beschriftungArray[i] = mein_XML.knoten[i].beschriftung.text();
//Funktionsaufruf
horizNavi(beschriftungArray[k],….);
Ich würde jetzt z.B. gerne überprüfen, ob der MC mit der Beschriftung "Home" (kommt aus der XML-Datei) angeklickt wurde.
Also so in der Art
PHP:
var status:Boolean = false;
if(mein_mc.name == "Home" && status = true){
meinTextfeld_tf.setTextFormat(meinTextformatAngeklickt);
}
else{
meinTextfeld_tf.setTextFormat(meinTextformatStandard);
}
Danke im Voraus für eure Hilfe.
vg vom
kaltenjava