Home > lesson1 > ムービークリップをボタンでコントロールする[1-6]

ムービークリップをボタンでコントロールする[1-6]

ボタンを押してムービークリップを再生させる(タイムライン制御編)

イベントリスナーのイベントのENTER_FRAMEを使うとフレームが読み込まれた時点で、再生してしまいますので、ボタンを用意したところで関係なしに再生されてしまいます。
そこでボタンを違うフレームに用意し、ボタンが押されたら、再生したいムービークリップのフレームに移動させて再生させるみたいなカラクリになります。

ball_button

1フレーム目にボタンを押した時のアクションスクリプトを用意し、2フレーム目にムービークリップのアクションスクリプトを用意します。
新規シンボルでボタンをステージに配置し、インスタンス名を付けます。(今回はstart_btnにしました)

1フレーム目のアクションスクリプトにはボタンがクリックされたら、2フレームに行きなさいみたいな感じのプログラムを書きます。
また、フレームが自動にしないようにstop()で止めます。

stop(); //ストップ処理

//イベントリスナー登録
start_btn.addEventListener(MouseEvent.CLICK, frm2);

//プログラム関数
function frm2(event:MouseEvent):void{
	gotoAndStop(2);
}

イベントリスナーでインスタンス(start_btn)がクリックされたら(MouseEvent.CLICK)frm2のプログラムを実行しなさいと登録し、frm2関数で2フレーム目に移動(gotoAndStop(2))となります。

2フレーム目にはムービークリップのプログラムを書きます。(ムービークリップにActionSprictを書く[1-5]を使用)

var speedx:Number = 5;  //スピード
var cicle:Number = 10;  //回転
var mcWidth:Number = ball_mc.width / 2;  //インスタンスの幅
var stageL:Number = 0 + mcWidth;  //幅の最小値
var stageR:Number = stage.stageWidth - mcWidth;  //幅の最大値

//イベントリスナー登録
ball_mc.addEventListener(Event.ENTER_FRAME,ball); 

//プログラム関数
function ball(event:Event):void {
	ball_mc.x += speedx;
	ball_mc.rotation += cicle;
	if (ball_mc.x < stageL || ball_mc.x > stageR) {
		speedx *= -1;
		cicle *= -1;
	}
}
ボタンを押したらムービークリップを再生

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://www.addchild.net/as3-beginner/ls1/134.html/trackback
Listed below are links to weblogs that reference
ムービークリップをボタンでコントロールする[1-6] from ADD CHILD = AS3

Home > lesson1 > ムービークリップをボタンでコントロールする[1-6]

Feeds
Meta

Return to page top