Mouse Over bei mehreren MovieClips [Flash 10]
| Beiträge: 6 Registriert: Jun 2008
| 13.02.2011, 21:08
Hallo,
ich habe nun schon sehr lange im Forum gesucht, aber für meinen Fall keine Lösung gefunden.
Bisher habe ich mit AS 2 gearbeitet, das in CS4 nicht mehr so funktioniert wie ich es kenne. Aus diesem Grund habe ich mich dafür entschieden mit AS 3 zu arbeiten.
Problem:
Ich habe 5 MovieClips, die als Buttons fungieren sollen. Bei RollOver soll ein Textfeld mit spezifischem Text für jeden MovieClip erscheinen. In AS 2 habe ich das mittels einer for-Schleife lösen können. Ich gehe davon aus, dass das in AS 3 auch geht, aber leider weiß ich nicht, wie ich das realisieren kann.
Könnt Ihr mir bitte helfen?
Vielen Dank schon mal im Voraus. | | | Beiträge: 6 Registriert: Jun 2008
Themenautor/in
| 13.02.2011, 23:21
Da die Änderung meiner Nachricht leider nicht funktioniert versuche ich es auf diesem Weg.
Also die Schleife mit der ich die Buttons ansprechen möchte hätte in AS 2 so ausgesehen:
var buttongesamt = 4;
for(i=1; 1<= buttongesamt; i++){
eval("btn"+i).onRollOver = function{
this.gotoAndStop(2);
textf.htmlText="info"+i;
}
}
info1="text 1";
info2="text 2"; etc.
Die Buttons sind MovieClips und alle mit dem Instanznamen btn1, btn2 usw. versehen.
Die Variable textf ist der Instanzname des dynamischen Textfeldes in das der Infotext ausgegeben wird.
Nun habe ich leider das Problem, dass ich nicht weiß, wie diese for-Schleife in AS 3 aussehen könnte.
Literatur und auch die Suche im Forum haben leider keine Ergebnisse für diesen Fall geliefert.
Bitte helft mir. | | | Beiträge: 34 Registriert: Apr 2010
| 15.02.2011, 16:09
Moin moin,
ich mach das immer folgendermaßen... als erstes pack ich alle MovieClips in ein Array, dann kann ich später einfach mit ner Schleife die ganzen Eventlistener die ich brauche dranhängen.
Z.b. so:
ActionScript:1 2 3 4 5 | for (var i=0; i<myBtns.length; i++) {
myBtns[i].addEventListener(MouseEvent.CLICK,buttonHandler);
myBtns[i].addEventListener(MouseEvent.MOUSE_OVER,buttonHandler);
myBtns[i].addEventListener(MouseEvent.MOUSE_OUT,buttonHandler);
}
|
dann brauchst du noch die Funktion buttonHandler:
ActionScript:1 2 3 4 5 6 7 8 | public function buttonHandler(e:MouseEvent):void {
if (e.type=="click") {
// Do something...
}
} else if (e.type=="mouseOver") {
} else if (e.type=="mouseOut") {
}
}
|
Und da schreibste dann noch schnell die Abfrage rein welcher Button denn hier gerade Alarm macht und kannst dir dein passendes Textfeld anzeigen lassen. | |
| Ähnliche Beiträge zum Thema | |
|
Flashhilfe.de Flash Platform Tipps & Tutorials Flash Platform Andere Programmiersprachen Jobangebote Diskussionen
Flashhilfe News
Regeln & Bedingungen
|