- 締切済み
「FLASH MX 2004」で、紙芝居形式のムービー(プロジェクタ形
「FLASH MX 2004」で、紙芝居形式のムービー(プロジェクタ形式)を作成しています。 右上に終了ボタンを常時配置し、その終了ボタンをクリックすればステージ上のムービークリップを全て止め、その場面で動きが止り、画面全体が半透明になり、画面の上に、終了するかどうか(はい・いいえ)のダイアログを表示し、はい・いいえ以外のボタンも無効にする。 はいを押せばプロジェクタの終了、いいえを押せば元の状態に戻る。 この一連の作業を再現したいのですが、方法がわかりません。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- BumeshiOK
- ベストアンサー率92% (12/13)
回答No.1
※確認画面や終了ボタンはインスタンス名を指定します。 //終了ボタンでコールする関数 function stopAllMC(){ for(var i in this){//thisの中のオブジェクトを抽出 var obj = this[i]; if(typeof(obj) == "movieclip"){//ムービークリップだけ処理 obj.stop(); obj._alpha = 50; } } 確認画面._visible = true; } //確認画面の「いいえ」でコールする関数 function continueAllMC(){ for(var i in this){ var obj = this[i]; if(typeof(obj) == "movieclip"){ obj.play(); obj._alpha = 50; } } 確認画面._visible = false; } 終了ボタン.onRelease = stopAllMC; こんな感じで如何でしょう?
お礼
早速ありがとうございます。 スクリプトも勉強中なんで、再現に時間がかかるかもしれませんが、ご回答頂いたものを再現しようと思います。 またわからないことがありましたら書込みさせていただきます
補足
最初の終了ボタンをクリックしてムービークリップを止めるところでつまずいています・・・ 確認画面(white_back)に透明度を設定した大きな四角をつけることによりobj._alpha = 50;を省略しています。 まず始めのフレームにスクリプトとして white_back._visible = false; にして 確認画面を呼び出す終了ボタンをシンボルプロパティのボタンにて作成。 そのボタンをステージに配置し、ボタン自体に教えていただいたスクリプトを書いてon (release) { でくくりました。 以下がそれです。 on (release) { function stopAllMC(){ for(var i in this){ var obj = this[i]; if(typeof(obj) == "movieclip"){ obj.stop(); } } white_back._visible = true; } } インスタンスと思われるところは入れ替えたつもりですが、どこか間違ってますでしょうか?