Flashhilfe.de - Flash Community

Dynamische Funktionsnamen verwenden [Flash 10]

 


AntwortenRegistrieren Seite1  

hendrik_d#1
Benutzerbild von hendrik_d
Beiträge: 10
Registriert: Sep 2008

07.12.2009, 12:59

Hallo!
Bin in der Suche / bei Google einfach nicht fündig geworden, vielleicht drücke ich das ganze aber auch einfach zu kompliziert aus:
Ich möchte in einer "for"-Schleife jeweils eine Funktion mit dynamischen/fortlaufend nummerierten Namen anlegen - bislang sieht das so aus:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var plr:Array = new Array(mc_01, mc_02, mc_03, mc_04); // usw. insgesamt 94 Stellen

for (var i = 0; i < plr.length; i++) {      

plr[i].alpha = 0.5;

plr[i].addEventListener(MouseEvent.MOUSE_OVER,overfunktion[i]);
plr[i].addEventListener(MouseEvent.MOUSE_OUT,outfunktion[i]);

// Im Prinzip geht es also um diese beiden Funktionen, die dynamische Namen brauchen:

function overfunktion[i](e:MouseEvent) {plr[i].alpha = 1;}
function outfunktion[i](e:MouseEvent) {plr[i].alpha = 0.5;}


};



Kann mir da jemand helfen?
Schlagwörter: eventListener, for schleife
Geändert von hendrik_d am 07.12.09 um 13:02 Uhr
springer#2
Benutzerbild von springer
Beiträge: 4909
Wohnort: zuhaus
Registriert: Apr 2004

07.12.2009, 13:02

hi,
das geht doch viel einfacher:
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var plr:Array = new Array(mc_01, mc_02, mc_03, mc_04); // usw. insgesamt 94 Stellen

for (var i = 0; i < plr.length; i++) {     
    plr[i].alpha = 0.5;
    plr[i].addEventListener(MouseEvent.MOUSE_OVER,overfunktion);
    plr[i].addEventListener(MouseEvent.MOUSE_OUT,outfunktion);

}
function overfunktion(e:MouseEvent) {
    event.target.alpha = 1; // vielleicht auch event.currentTarget
}

function outfunktion(e:MouseEvent) {
    event.target.alpha = 0.5; // vielleicht auch event.currentTarget
}
lieber chips essen und danach voller zweifel sein, als voller zweifel chips essen...
hendrik_d#3
Benutzerbild von hendrik_d
Beiträge: 10
Registriert: Sep 2008

Themenautor/in

07.12.2009, 13:11

klappt leider nicht:
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
for (var i = 0; i < plr.length; i++) {     
    plr[i].alpha = 0.5;
    plr[i].addEventListener(MouseEvent.MOUSE_OVER,overfunktion);
    plr[i].addEventListener(MouseEvent.MOUSE_OUT,outfunktion);

}
function overfunktion(e:MouseEvent) {
    event.target.alpha = 1; // vielleicht auch event.currentTarget
}

function outfunktion(e:MouseEvent) {
    event.target.alpha = 0.5; // vielleicht auch event.currentTarget
}


gibt: 1120: Zugriff auf eine nicht definierte Eigenschaft event.
springer#4
Benutzerbild von springer
Beiträge: 4909
Wohnort: zuhaus
Registriert: Apr 2004

07.12.2009, 13:17

ah, du musst natürlich "e" anstelle von "event" verwenden... bin mich halt so gewöhnt ans event-schreiben ;-)
lieber chips essen und danach voller zweifel sein, als voller zweifel chips essen...
hendrik_d#5
Benutzerbild von hendrik_d
Beiträge: 10
Registriert: Sep 2008

Themenautor/in

07.12.2009, 13:24

Perfekt - du hast meinen Tag gerettet - besten Dank!

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2022 Sebastian Wichmann - Flashhilfe.de