電子書籍の厳選無料作品が豊富!

AS3.0 Timerの使い方

a_mc、b_mc、c_mcがあり、a_mcが再生された1秒後にb_mcを作動させ
b_mcが再生された0.5秒後にc_mcを再生というようにしたいのですが
その場合、Timerはどのようにすれば良いのでしょうか?
初心者ですので、なるべく基本的な作り方が理想です。

下記のコードを参照にして頂ければと思います。
また、下記で間違っている部分がありましたらご指摘ください。
Flash CS3を使用しております。
宜しくお願い致します。

a_mc.y = 450;
b_mc.y = 450;
c_mc.y = 450;

a_mc.alpha = 0;

a_mc.addEventListener(Event.ENTER_FRAME, a_up);
function a_up(event:Event):void {
a_mc.y -= 2;
a_mc.x -= 1;
a_mc.alpha += 0.03;
if (a_mc.y == 200) {
a_mc.removeEventListener(Event.ENTER_FRAME, a_up);
}
}

b_mc.addEventListener(Event.ENTER_FRAME, b_up);
function b_up(event:Event):void {
b_mc.y -= 2;
b_mc.rotation += 6;
if (b_mc.y == 200) {
b_mc.removeEventListener(Event.ENTER_FRAME, b_up);
}
}

c_mc.addEventListener(Event.ENTER_FRAME, c_up);
function c_up(event:Event):void {
c_mc.y -= 2;
c_mc.x += 1;
if (c_mc.y == 200) {
c_mc.removeEventListener(Event.ENTER_FRAME, c_up);
}
}

A 回答 (1件)

> a_mcが再生された1秒後にb_mcを作動させ


> b_mcが再生された0.5秒後にc_mcを再生

「再生」とは何のことかわかりませんが...。

スクリプトを見る限り「再生」というものは絡んでなくて
ムービークリップ自体の座標移動と回転と不透明度変化に見えます。
ムービークリップの再生は関係ないのですよね?



次のような感じでできると思います。

-----------------------------
//各MCの初期設定
a_mc.y = 450;
b_mc.y = 450;
c_mc.y = 450;
a_mc.alpha = 0;

//関数a_up の定義
function a_up(event:Event):void {
a_mc.y -= 2;
a_mc.x-=1;
a_mc.alpha+=0.03;
if (a_mc.y==200) {
a_mc.removeEventListener(Event.ENTER_FRAME, a_up);
}
}

//関数b_up の定義
function b_up(event:Event):void {
b_mc.y-=2;
b_mc.rotation+=6;
if (b_mc.y==200) {
b_mc.removeEventListener(Event.ENTER_FRAME, b_up);
}
}

//関数c_up の定義
function c_up(event:Event):void {
c_mc.y-=2;
c_mc.x+=1;
if (c_mc.y==200) {
c_mc.removeEventListener(Event.ENTER_FRAME, c_up);
}
}

//a_mcにイベントリスナーを登録(毎フレーム,関数a_upを実行)
a_mc.addEventListener(Event.ENTER_FRAME, a_up);


//関数cStart の定義
function cStart(evt:TimerEvent):void {
//c_mcにイベントリスナーを登録(毎フレーム,関数c_upを実行)
c_mc.addEventListener(Event.ENTER_FRAME, c_up);
}

//Timerクラスのインスタンス「cTimer」を作成
//(500ミリ秒遅延,繰り返し1回)
var cTimer:Timer=new Timer(500,1);

//指定時間遅延して 関数cStart を実行
cTimer.addEventListener(TimerEvent.TIMER, cStart);

//関数bStart の定義
function bStart(evt:TimerEvent):void {
//b_mcにイベントリスナーを登録(毎フレーム,関数b_upを実行)
b_mc.addEventListener(Event.ENTER_FRAME, b_up);
//cTimerスタート
cTimer.start();
}

//Timerクラスのインスタンス「bTimer」を作成
//(1000ミリ秒遅延,繰り返し1回)
var bTimer:Timer=new Timer(1000,1);

//指定時間遅延して 関数bStart を実行
bTimer.addEventListener(TimerEvent.TIMER, bStart);

//bTimerスタート
bTimer.start();
-----------------------------
 
「AS3.0 Timerの使い方」の回答画像1
    • good
    • 0
この回答へのお礼

ご丁寧に画像まで見せて頂き、ありがとうございます。
なんとか出来ました。
ありがとうございました。

お礼日時:2010/07/20 16:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報