ボタンオブジェクトに対して、ロールオーバー、ロールアウト、クリックをまとめて設定するスクリプトです。
ロールオーバー、ロールアウト、クリックのイベントリスナーごと、関数内に記述して、内包しているリスナーの関数を実行しています。リスナーの関数は一つだけ書いて、イベントタイプの文字列で振り分けるようにしています。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
setButton(button, "test");
 
//ボタンにロールオーバー、ロールアウト、クリックの設定
function setButton(button:DisplayObject, str:String):void {
	button.addEventListener(MouseEvent.ROLL_OVER, mouseEvent);
	button.addEventListener(MouseEvent.ROLL_OUT, mouseEvent);
	button.addEventListener(MouseEvent.CLICK, mouseEvent);
 
	//イベントのタイプで処理を振り分け
	function mouseEvent(event:MouseEvent):void {
		switch (event.type) {
			case "rollOver": //ロールオーバーのとき
				button.alpha = 0.5;
				trace(str+"over");
				break;
			case "rollOut": //ロールアウトのとき
				button.alpha = 1;
				trace(str+"out");
				break;
			case "click": //クリックのとき
				button.alpha = 0;
				trace(str+"click");
				break;
		}
	}
}