| 

.NET C# Java Javascript Exception

2
Hi,
ich versuche seit geraumer Zeit, ein Textfeld in einem Schaltflächen-Symbol anzusprechen (nutze Flash CS5 / Sprache AS3).

Folgendes Problem:
Ich habe einen Button, bestehend aus einem Hintergrundbild und eine Ebene (in der Zeitleiste) darüber eine TLF-Textfeld (Option: Nur Lesen). Innerhalb der Schaltfläche habe ich die drei Stati "Auf", "Darüber" und "Gedrückt" mit jeweils einem anderen Hintergrund und dem Textfeld in einer anderen Farbe eingerichtet (pro Status ein eigener Keyframe). Die Textfelder haben alle den gleichen Instanznamen.

Schaltfläche: btn_black
Textfeld: txt_black

Um das Textfeld zu ändern verwende ich folgenden Code:
btn_black.txt_black.text = "Button";

Leider funktioniert dieser aber nur, wenn das Symbol mit dem Instanznamen "btn_black" nicht als Schaltfläche, sondern als Movieclip ausgewiesen ist (Allerdings verschwindet dann der Instanzname und wird beispielsweise zu "instance157"). Was muss ich tun, damit ich das Textfeld dennoch ansprechen kann? Mir ist dazu aufgefallen, dass ich bei der Trace-Ausgabe des jeweils geklickten Objektes immer nur "btn_black" erhalte - nie den Instanznamen des Textfeldes.

Hat jemand eine Idee, wo der Fehler liegt oder ist der Schaltflächenmodus gar nicht zu meinem Vorhaben in der Lage? Falls nein, gibt es irgendwo eine Vorlage, mit welcher ich aus einem Movieclip schnell einen vollwertigen Button zaubere?

Danke schonmal im Voraus für alle Antworten!
Gruß
PhoeniXaC
28.02.2011
PhoeniXaC 21 2
Weiß keiner was oder will keiner antworten?
PhoeniXaC 01.03.2011
Ich pump mal wieder hoch - noch hab ich die Hoffnung nicht aufgegeben...
PhoeniXaC 03.03.2011
1 Antwort
0
Warum das bei den Buttons nicht funktioniert kann ich dir leider auch nicht sagen. Allerdings ist es nicht schwer aus einem Movieclip einen Button zu machen. Man muss die Eventhandler halt selber setzten und die Frames zu denen du dann z.B. bei onMouseDown wechselst kannst du ja sogar so benennen. Dann musst du nur für alle events die Eventhandler so anlegen:

addEventListener(MouseEvent.MOUSE_DOWN,gotoAndStop("mouseDown"));

Und schon hast du das verhalten eines normalen buttons.
Das wird zwar nicht der beste Weg sein, aber warum der Instanzname sich innerhalb eines Buttons ändert verstehe ich leider auch nicht.
08.03.2011
Pascal 125 1 6
Danke zunächst für deine Antwort. Aktuell schwanke ich noch, ob ich einen Movieclip daraus bastel oder ob ich einfach für jede benötigte Schaltfläche ein Symbol erstelle...mal sehen.
PhoeniXaC 12.03.2011

Stelle deine Button-Frage jetzt!