- ベストアンサー
Flash フレーム移動のトラブル
- Flash フレーム移動のトラブルに関して基本的なことが解決できない問題が発生しています。
- フレームの順番が異常になり、特定のフレームに移動する際にトラブルが生じます。
- 問題の原因は特定できず、トラブルの解決方法を知っている方のアドバイスを求めています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
うーん,全く皆目見当がつきませんが, なんとなく, > このswfの再生が終了したあと,"first_stage"に移動します. これが生き続けているような気がします。 上の引用部分をどうしていらっしゃるのか知りませんが, たとえば, // 1フレーム進む時間ごとに毎回実行 this.onEnterFrame = function(){ if(ロードしたSWFの再生が終了したら){ gotoAndStop("first_stage"); } } のようなスクリプトを使用されていた場合, ロードしたSWFの再生が終了したら,"first_stage" に行き続けます。 違うフレームにいくスクリプトを入れると, 一瞬その違うフレームに行くかもしれませんが, 上のスクリプトが生き続けているために"first_stage" に戻され続けます。 もし上のようなスクリプトを使用していらっしゃるとすれば, その onEnterFrame をif文通過後に削除する必要があります。 // 1フレーム進む時間ごとに毎回実行 this.onEnterFrame = function(){ if(ロードしたSWFの再生が終了したら){ gotoAndStop("first_stage"); // この onEnterFrame を削除 delete this.onEnterFrame(); } } とにかく現物を見ることもできませんから何とも言えません。 なんとなく,上に書いた辺があやしいと思いましたので, 一筆書かせていただきました。
その他の回答 (1)
- BlurFiltan
- ベストアンサー率91% (1611/1754)
すみません。#1です。 delete this.onEnterFrame(); ↓括弧() が不要です↓ delete this.onEnterFrame; 空(ソラ)でテキストをココに打っていたので、 () の有無によるエラーなどの実証検証をしていませんでした。
お礼
おおお! 解決しました!!よかったです! ありがとうございます.
補足
ご返答ありがとうございます! ご説明は大変わかりやすくて,理屈も通ってるし,原因はそこかな☆ と自分でも思いました!! が,問題発生です... 外部swfのロードスクリプトは以下のようになっています. アドバイスの通りdeleteを含めましたが,フレームが大暴走しました!!! わわわわ☆ フレームに書き込んだstop()は機能しない模様です. どうか下記のASから原因を発見していただきたい!!! objDate = new Date(); hours = objDate.getHours(); m = new Array(); m = ["16/aisatu/yoru.swf", "16/aisatu/asa.swf", "16/aisatu/hiru.swf", "16/aisatu/yoru.swf"]; mTable = "000001111122222223330000"; nowMovie = m[mTable.substr(hours, 1)]; terget.loadMovie(nowMovie); terget._xscale = 112; terget._yscale = 112; this.onEnterFrame = function() { total_frm = _root.terget._totalframes; now_flm = _root.terget._currentframe; if (now_flm>=total_frm) { _root.terget.stop(); _root.gotoAndPlay("first_stage"); delete this.onEnterFrame(); } }; このスクリプトは時間毎に流れるものになっています.