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

Flash初心者です。
FlashCS4 Professionalを使用しています。


ムービークリップを再生後、次のフレームに自動的に移動させたいのですが、調べても良く分かりません・・・
どういうアクションを書けばいいのでしょうか?

ラベル名 : ムービークリップを入れてあるフレーム「frame01」、次のフレーム「frame02」
ムービークリップのインスタンス名:「clip01」

として設定してあります。

ご指導よろしくお願い致しますm(_ _)m

A 回答 (1件)

簡単なのは


MC(=ムービークリップのこと)である「clip01」内タイムラインの
最終フレーム の キーフレーム に
次↓のように書くことです。

//--------------------------------------------------
//MCとした親のタイムラインを「frame02」で停止
MovieClip(parent).gotoAndStop("frame02");
//--------------------------------------------------

または
次↓のように書いても良いと思います。

//--------------------------------------------------
//MCとした総親元のタイムラインを「frame02」で停止
MovieClip(root).gotoAndStop("frame02");
//--------------------------------------------------

parent は相対パスでの ターゲットパス の書き方です。
root は絶対パスでの ターゲットパス の書き方です。
 



========================
 
MC「clip01」内にスクリプトを書くのではなくて
そのMCが存在するタイムラインのフレーム「frame01」に書くのでしたら
ややこしくはなりますが
次↓のように書けば良いと思います。


//--------------------------------------------------
//(一応この「frame01」で stop させるのですよね? )
stop();

//関数 watchFrame の毎フレーム実行を clip01 に登録
clip01.addEventListener(Event.ENTER_FRAME,watchFrame);

//関数 watchFrame の定義
function watchFrame(e:Event):void {
//もし登録したMCの再生フレームが最終フレームになれば
if (e.target.currentFrame == e.target.totalFrames) {
//関数 watchFrame の毎フレーム実行の登録を削除
e.target.removeEventListener(Event.ENTER_FRAME,watchFrame);
//このタイムラインを「frame02」で停止
gotoAndStop("frame02");
}
}
//--------------------------------------------------


もっとも
e.target にこだわらず
次のように直接インスタンスを名指して動作命令しても良いですよ(ただし汎用性は低くなりますが)。


//--------------------------------------------------
//(一応この「frame01」で stop させるのですよね? )
stop();

//関数 watchFrame の毎フレーム実行を clip01 に登録
clip01.addEventListener(Event.ENTER_FRAME,watchFrame);

//関数 watchFrame の定義
function watchFrame(e:Event):void {
//もし clip01 の再生フレームが最終フレームになれば
if (clip01.currentFrame == clip01.totalFrames) {
//関数 watchFrame の毎フレーム実行の登録を削除
clip01.removeEventListener(Event.ENTER_FRAME,watchFrame);
//このタイムラインを「frame02」で停止
gotoAndStop("frame02");
}
}
//--------------------------------------------------


 

【添付図】stage や root や parent などのメモ
 (ターゲットパスを考えるときのご参考に↓)
「FlashCS4 Professiona」の回答画像1
    • good
    • 0
この回答へのお礼

MCのタイムラインに絶対パスで書いたら出来ました!
解説がものすごく解りやすくて感激しています!本当に有難うございましたm(_ _)m

お礼日時:2012/07/12 20:14

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