- 2009-09-08 (火) 13:23
- lesson2
複数のムービークリップのボタンに同じアクションスクリプトを使う
同じ動きをさせたいムービークリップをステージにそれぞれ配置し、インスタンス名に順番を付けて用意します。(例:btn_mc1)
この時の付ける順番とは、1から始まることが前提です。
ムービークリップに連番を付けたら、for構文を利用し、必要条件までループ処理をさせます。
今回は1~4までの連番を利用して、同じ動きをさせたいムービークリップを、必要な数だけイベントリスナーを用意するみたいな感じになります。
さらにボタンモードとして使用するムービークリップもループさせます。
//ループを使い
for(var i:int = 1; i < 5; i++){
//イベントリスナー登録
this["btn_mc"+i].addEventListener(MouseEvent.MOUSE_OVER,Over);
this["btn_mc"+i].addEventListener(MouseEvent.MOUSE_DOWN,Down);
this["btn_mc"+i].addEventListener(MouseEvent.MOUSE_OUT,Out);
//ボタンモード
this["btn_mc"+i].buttonMode = true;
}
for(var i:int = 1; i < 5; i++)は数字を変数iに置き換え、1以上5未満までプラス1を繰り返す動きになりますので、ムービークリップのbtn_mc1~btn_mc4でイベントリスナーが用意されることになります。
またボタンモードも同様に必要分だけ宣言がだきてることになります。
あとは[2-1]のようにプログラム関数を用意するだけになりますが、各function関数にターゲットを置き換える変数を宣言しなくてはなりません…
ここのevent.targetについては詳しく説明できるようになったときに…
//ループを使い
for(var i:int = 1; i < 5; i++){
//イベントリスナー登録
this["btn_mc"+i].addEventListener(MouseEvent.MOUSE_OVER,Over);
this["btn_mc"+i].addEventListener(MouseEvent.MOUSE_DOWN,Down);
this["btn_mc"+i].addEventListener(MouseEvent.MOUSE_OUT,Out);
//ボタンモード
this["btn_mc"+i].buttonMode = true;
}
//マウスオーバー
function Over(event:Event):void{
var btn = event.target; //ターゲットを置き換える
btn.alpha = 0.7;
}
//マウスアウト
function Out(event:Event):void{
var btn = event.target; //ターゲットを置き換える
btn.alpha = 1;
}
//マウスダウン
function Down(event:Event):void{
var btn = event.target; //ターゲットを置き換える
btn.alpha = 0.5;
}
- Newer: ムービークリップをボタンとして使う[2-3]
- Older: ムービークリップをボタンとして使う[2-1]
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://www.addchild.net/as3-beginner/ls2/192.html/trackback
- Listed below are links to weblogs that reference
- ムービークリップをボタンとして使う[2-2] from ADD CHILD = AS3