Home > lesson2 > ムービークリップをボタンとして使う[2-2]

ムービークリップをボタンとして使う[2-2]

複数のムービークリップのボタンに同じアクションスクリプトを使う

同じ動きをさせたいムービークリップをステージにそれぞれ配置し、インスタンス名に順番を付けて用意します。(例: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;
}
複数のムービークリップのボタンに同じ動きをさせる

Comments:0

Comment Form
Remember personal info

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

Home > lesson2 > ムービークリップをボタンとして使う[2-2]

Feeds
Meta

Return to page top