2016-04-26 20 views
0

(インスタンス名)b1〜b64というボタンが1〜64あります。すべてのボタンにマウスクリックイベントを追加する必要があります。このような私の現在のコード....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; 
} 
....... 

私はその繰り返しを減らす必要があります。

+0

あなたはそれらの配列を作ることができませんでしたか? – reallynice

+1

と同様の質問http://stackoverflow.com/questions/36660246/how-to-write-an-object-name-with-a-variable-for-iteration-in-as3/36661586 –

答えて

1

あなたがボタンにイベントリスナーを接続するループを使用することができます。

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

そして単一リスナー関数を使用します。

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

トレース(event.currentTarget。名前+ 'がクリックされました。'); //編集 –

+0

@VirajTharindaあなたはそれを知っています。 – Marty

関連する問題