• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ムービークリップ再生後次のフレームへ移動しません)

ムービークリップ再生後次のフレームへ移動しない

このQ&Aのポイント
  • アクションスクリプトを使って、テキストが下から上へ流れるようにムービークリップを再生し、テキストが流れ終わったところで次のフレームへ移動させたいのですが、フレームが移動せず困っています。
  • ムービークリップのスクリプトに問題があり、テキストが流れ終わった後にフレームが移動しない状態になっています。Flash MX 2004を使用しているため、他の方法を試す前にスクリプトの修正を行いたいです。
  • お見舞いのメッセージを送るために作成したムービークリップがうまく動かず、困っています。ムービークリップのスクリプトに問題があり、テキストが流れ終わった後に次のフレームへ移動しない状態になっています。早急に解決方法を教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

onClipEvent (enterFrame) {○○} の意味はわかっていらっしゃいますでしょうか? 「○○ を 1フレーム進む時間ごとに毎回実行せよ。」 ということです。 その ○○ の部分に,次のようなことが書かれています。 if (this._y<=-10) { gotoAndPlay(2); } 上の意味は, 「もし このムービークリップの y座標 が -10 以下であれば,このムービークリップ内のフレームを フレーム2 に進めて再生せよ。」 ということです。 上で書いたスクリプトを続けて書くと, 『「もし このムービークリップの y座標 が -10 以下であれば,このムービークリップ内のフレームを フレーム2 に進めて再生せよ。」を 1フレーム進む時間ごとに毎回実行せよ。』 となります。 つまり, 「ムービークリップの y座標 が -10以下 であれば フレーム2 に行き続けろ。」   ↓言い換え↓ 「ムービークリップの y座標 が -10以下 であれば フレーム2 をずっと表示させよ。」 となるのです。 大きな間違いが少なくとも1つありますね。 また, フレーム2 に進めて再生させるのはそれを書いたムービークリップ内のタイムラインの話ですから, 階層もおそらく違っているのではないかと推測されます。 ムービークリップに書いたスクリプトを 次のような感じにすれば良いのではないかと思います。 ------------------------------ //このムービークリップが表示されたときに実行 onClipEvent (load) { //変数 spd の値を 5 にする spd = 5; //フラグとなる変数 flg の値を false にする flg = false; } //1フレーム進む時間ごとに毎回実行 onClipEvent (enterFrame) { //このムービークリップの y座標 を spd ずつ減算 this._y = this._y-spd; //このムービークリップの y座標 が -10 以下で なおかつ flg が false であれば if (this._y<=-10 && !flg) { //変数 spd の値を 0 にする spd = 0; //変数 flg の値を true にする flg = true; //親階層をフレーム2から再生 _parent.gotoAndPlay(2); } } ------------------------------  

mika0120
質問者

お礼

ありがとうございました! 無事、次のフレームに移動する事が出来ました。 きちんと説明も付けていただいて、とてもよく分かりました。 でもやはりアクションスクリプトは私にはとても難しく、このムービーの後に「replay」ボタンを表示させて、ムービーを最初から再生する機能を付けたかったのですが、色々試したものの出来ませんでした(XoX)

関連するQ&A