2016-04-26 19 views
0

zu reduzieren Ich habe 1 bis 64 Tasten aufgerufen (Instanzname) b1 - b64. Ich muss Mausklickereignis zu jedem buttons.My aktuellen Code wie folgt hinzufügen ....wie Button Button Click Event Code in AS3

b1.addEventListener(MouseEvent.CLICK, btn1click); 
function btn1click(event:MouseEvent) 
{ 
var e = b1; 
} 
b2.addEventListener(MouseEvent.CLICK, btn2click); 
function btn2click(event:MouseEvent) 
{ 
var e = b2; 
} 
b3.addEventListener(MouseEvent.CLICK, btn3click); 
function btn3click(event:MouseEvent) 
{ 
var e = b3; 
} 
....... 

Ich muss diese Wiederholung zu reduzieren.

+0

konnte nicht Sie eine Reihe von ihnen? – reallynice

+1

Ähnliche Fragen wie http://stackoverflow.com/questions/36660246/how-to-write-an-object-name-with-a-variable-for-iteration-in-as3/36661586 –

Antwort

1

können Sie eine Schleife verwenden, um die Ereignis-Listener, um die Tasten zu befestigen:

for (var i:int = 1; i <= 64; i++) { 
    this['b' + i].addEventListener(MouseEvent.CLICK, btnClick); 
} 

und eine Funktion einzelner Hörer verwenden:

function btnClick(event:MouseEvent):void { 
    trace(event.currentTarget + ' was clicked.'); 
} 
+0

trace (event.currentTarget. Name + 'wurde angeklickt.'); // Edit –

+0

@VirajTharinda Du weißt es. – Marty