単一のボタンを作成したいとします。これは簡単なはずです - 正方形を作成し、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;
このような場合に、イベント リスナーの数を減らす方法、またはより最適にコーディングする方法はありますか? 私が見た例のほとんどは、大規模なケースでは浅いように見えます。