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

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;
}
}
- Newer: ムービークリップをボタンでコントロールする[1-7]
- Older: ムービークリップにActionSprictを書く[1-5]
Comments:0
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