0

単一のボタンを作成したいとします。これは簡単なはずです - 正方形を作成し、addChild を画面に追加し、mouse.CLICK イベントのイベント リスナーを作成するだけです。

add_btn_listeners():void
 {

   btn[0].addEventListener(MouseEvent.CLICK, btn_clc1);
 }
public function btn_clc1(event:Event):void
 {
   action1();
 }

ただし、20 個のボタンを作成したいとします。上記の btn_clc1 関数に似た 20 個の関数と、適切なクリックのイベント リスナーが必要になります。

しかし、アクションをインデックスなどでごくわずかにしたいとします。たとえば、同じリスナー btn_clc1 リスナー内の btn[0] 呼び出し action1、btn[1] 呼び出し action2 などです。

これの非常に一般的な例は、マウスのロールオーバーです。たとえば、ロールオーバーして正方形を強調表示し、アルファレイヤーを増やしてメニュー選択を強調表示します。強調表示されたレイヤーは、次のようなインデックスに依存します。 btn[index].alpha = .9;

このような場合に、イベント リスナーの数を減らす方法、またはより最適にコーディングする方法はありますか? 私が見た例のほとんどは、大規模なケースでは浅いように見えます。

4

2 に答える 2