• ベストアンサー

FLASHの誤作動について

シーン別になっているムービーを作成しました。 シーン1でNowloading表示、 シーン2からボタンで on (release) { gotoAndPlay ("シーン名", フレーム数); } として各シーンにとべるようにしてあります。 問題は、アップロードしてから気が付いたのですが はじめにシーン2のボタンを押して他のシーンへ とぼうとすると、他のシーンまでが次々と順番に 表示されてしまう事です。 各シーンにはフレームにthis.stop()も設定して あるのですが・・・。 最初だけで、2回目以降は誤作動せず、 ローカルでの動作確認ではこういった事が起こらない ので、ムービーが完全に読み込まれていない為かと 思い、シーン1のNowloadingのscriptを チェックしなおしたのですが こちらのサイトで何回か回答が出ているとおりに、 ちゃんとgetBytesでサイズ取得しておりました。 それでも誤作動するのは、他にどんな原因が 考えられますでしょうか? どうかよろしくご指導くださいませ。 *ちなみにファイルサイズは370KBもあるのですが 重過ぎるための誤作動、もありえますか?

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

  • ベストアンサー
  • muho
  • ベストアンサー率25% (2/8)
回答No.3

えーと参考になるか分からないのですが一応体験談を。 こちらで起きたバグです。 環境はWINDOWSNT +IE とNC4.7 Flash5だったと思います。 takanyanyanyaさんとおなじくNowloadingを抜かすというバグでした。 原因は未だに不明ですが若いフレームにスクリプトを書いていた為なのか、一部のADSL回線速度だと序盤にあるスクリプトを無視して進んでしまうのです。 仕方がないのでnowloadingの前に3フレームくらい空のフレームを入れたら解決しました(^-^::) ↓は関係ないかも知れないんですがgotoAndStop();をつかうと正常に停止しないことがあります。gotoandstopは使っていませんか? 参考になればいいのですが・・・

takanyanyanya
質問者

お礼

*同文返信で申し訳ありません。 お返事が遅くなりまして、大変失礼致しました。 皆様がご指摘下さった事で、怪しそうなものを試してみることにしまして、 ●ムービーとactionのレイヤーを分ける (一ヶ所だけ、同じレイヤーに書かれているものが ありました・・・) ●空のフレームを入れる で、解決致しました!!本当に助かりました!! 今回の件ではgotoAndStop();とgotoAndPlay();は関係なかったようですが、そういうケースもあるんだ、と大変勉強になりました。本当に有り難うございました。 お答え下さった皆様全員に、感謝致します!! (本当に全て勉強になったので、できれば全てのかたに20Pさしあげたいくらいなのですが~~・・・。そういうシステムになりませんかね、ここ・・・。)

その他の回答 (3)

  • hokuto_ds
  • ベストアンサー率45% (106/233)
回答No.4

#3のかたの回答にちょっと経験談をくっつけますが、「読み込んだムービーの最初のフレーム」にアクションを書き込むと、無視されることがあります。ふたつめ以降のフレームに書けば回避できます。 ‥‥謎の「仕様」(笑)。 あと、gotoAndPlay()をシーンとフレームで指定してうまく動かなかったことがあります。これは、ラベル指定でとばしたら解決しました。結局原因は不明ですが。 このあたりは、まあ心を広く持って、回避方法をさがしていかれるのがいいと思います。フラッシュはファイルに問題がなくてもプレイヤーのバージョンによって奇妙な現象をおこしてくれたり、論理を無視してくれたりします‥

takanyanyanya
質問者

お礼

*同文返信で申し訳ありません。 お返事が遅くなりまして、大変失礼致しました。 皆様がご指摘下さった事で、怪しそうなものを試してみることにしまして、 ●ムービーとactionのレイヤーを分ける (一ヶ所だけ、同じレイヤーに書かれているものが ありました・・・) ●空のフレームを入れる で、解決致しました!!本当に助かりました!! 今回の件ではgotoAndStop();とgotoAndPlay();は関係なかったようですが、そういうケースもあるんだ、と大変勉強になりました。本当に有り難うございました。 お答え下さった皆様全員に、感謝致します!! (本当に全て勉強になったので、できれば全てのかたに20Pさしあげたいくらいなのですが~~・・・。そういうシステムになりませんかね、ここ・・・。)

  • duckling
  • ベストアンサー率47% (88/185)
回答No.2

情報が少ないので何とも言えないのですが、、 ムービーを読み込んでいるレイヤーに action を書き込むと誤作動が起こりやすいというのが Flash での仕様になっています。(苦笑 action 専用のレイヤーを最上部に置き、全てそれに書くと 誤作動が少ないようです。 試してみられてはいかがでしょうか。

takanyanyanya
質問者

お礼

*同文返信で申し訳ありません。 お返事が遅くなりまして、大変失礼致しました。 皆様がご指摘下さった事で、怪しそうなものを試してみることにしまして、 ●ムービーとactionのレイヤーを分ける (一ヶ所だけ、同じレイヤーに書かれているものが ありました・・・) ●空のフレームを入れる で、解決致しました!!本当に助かりました!! 今回の件ではgotoAndStop();とgotoAndPlay();は関係なかったようですが、そういうケースもあるんだ、と大変勉強になりました。本当に有り難うございました。 お答え下さった皆様全員に、感謝致します!! (本当に全て勉強になったので、できれば全てのかたに20Pさしあげたいくらいなのですが~~・・・。そういうシステムになりませんかね、ここ・・・。)

  • muho
  • ベストアンサー率25% (2/8)
回答No.1

こんにちわ似たような経験をした事があります。 確認をされている環境と出来れば実物のファイルが見れたら良いなぁなんて思うのですが不可能でしょうか?

takanyanyanya
質問者

補足

回答いただきまして有り難うございます。 本当に申し訳ないのですが 仕事で作っているものですので、クライアント様が いらっしゃる以上、勝手な行動は慎みたいと 思います。すみません。 動作確認自体は、 WINDOWS NT+IE5.0 WINDOWS NT+NC4.7 で行っております。 muhoさまも以前似たような経験をなさったとのこと、 実物ファイルも見せられないくせに 勝手なお願いかも知れませんが、 どういった方法で解決なさったのか、 もし良かったら教えて頂く訳には いきませんでしょうか・・・。

関連するQ&A

  • FLASHでSKIPさせるときのAS表記について

    今回フラッシュで初めて、skipボタンを作成しました。 アクションスクリプトの設定で on (release) { gotoAndPlay("scene5",1); } では普通に動作するのですが、 on (release) { gotoAndPlay("scene5"); } ではうまく作動しませんでした。 前任者が以前に作ったものでは 後者の表記の仕方(シーン名のみの表記)でボタンがうまく作動していたので、 今回自分の作ったものでうまくいかない理由が知りたいです。 関係ありそうな詳細を以下に書きます。 ・scene1~scene5の5シーンで構成 ・ボタンは透明ボタンとして作成 ・scene5は2フレームで、2フレーム目で停止するように「stop();」を入れています。 どうぞよろしくお願いします。

  • Flash、ボタンが動かない!?

    Flashでコンテンツ制作中です。 ボタンが思うとおりに動きません。 まず、シーン1上に、レイヤー10枚400フレームほどでアニメーションを作っています。 まずは、あるボタンをクリックすると、他のフレームに移動するように作っています(移動はすべてフレームラベルをつけて移動しています)。 移動先はアニメーションなのでシンボルでアニメーションクリップ化しています。 そのアニメーションクリップはいくつかのボタンの集合体です。ボタンをクリックするとまた別のフレームに飛ばしたいのですが、うまく出来ません。 ボタン自体が動いていないわけではありませんでした。 on (release) {getURL("http://www.~~/");}にするとちゃんとページを表示します。 on (release) {gotoAndPlay("main");}とすると移動しません。 on (release) {gotoAndPlay("シーン 1", "main");} でもダメでした。 ラベルのスペル間違えではないとした場合、他に何かダメな理由が考えられることはありますか? よろしくお願いします。

  • ボタンのアクションについて

    flashの初心者です。 シーン1とシーン2を作り、シーン2の中に、文字&ボタンインスタントを一つのフレームに入れ、モーショントゥイーンをかけました。 そして、その中のボタンインスタントにアクションを入れました。 on (release) {gotoAndPlay(350);} ボタンを押し話したときに、350(シーン2)のフレームへ飛んで再生するように設定しました。 しかし、ちゃんと作動してくれません。 シーン2の205からスタートしてしまいます。 シーン1はフレーム数は145まで入ってます。 よく見ると、この145と205を足すと350になります。 つまり、シーン1からシーン2にかけて350番目と言う様になってしまいます。 だから、アクションを on (release) {gotoAndPlay(495);} にすると、きちんと動いてくれます。 シーンを分けているときは、こう言うように足さないといけないのでしょうか? シーン2の350と言うように設定はできないのでしょうか? on (release) {gotoAndPlay("シーン2"350);} では出来ませんでした。 モーショントゥイーンをかけていない、普通のボタンは、普通に設定(145を足さない)でうまく動いてくれます。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • Flash判定アクションスクリプトの記述を教えてください。

    仕事の都合でFlash(Versionは8)を扱わなければいけなくなり只今勉強中兼HP製作中です。 行き詰まっているので教えてください。 現在、シーン1のタイムライン1フレーム目にいます。 ステージ上には、 ムービークリップが4つ(名前 m_A , m_B , m_C m_D)配置されています。 ボタンが5つ(名前 b_A , b_B , b_C , b_D , b_Z)配置されています。 ボタンb_Aには on (release) { with (_root.m_A) { play(); } } と記されていて、ボタンを押すとm_Aは再生されて10フレーム目でストップします。 ボタン B~D も同様にボタンを押すとムービークリップB~Dもそれぞれ再生されて10フレーム目でストップします。 ムービークリップ m_A~Dのフレーム10の中には、さらにボタン b_Xがあり、 それを押すとさらに再生されて20フレーム目までいったところで、gotoAndPlayで1フレーム目に戻りストップします。 シーン1のタイムライン1フレーム目に配置されている、ボタンb_Zを押すと、 ムービークリップ m_A~Dのタイムライン1フレーム目にいるものはそのままで、 そして、10フレーム目でストップしていたものは、 再生されて20フレーム目までいったところで、gotoAndPlayで1フレーム目に戻りストップになったところで、 (m_A~Dが全てタイムライン1フレーム目に行ったところで、) シーン1のタイムライン1フレーム目から再生されて、 タイムライン10フレーム目でストップといった命令を書きたいのですが、 どうやって指定してやればよいでしょうか? 多分、if文等を使用するんでしょうが、さっぱりわかりません。 詳しく教えていただければ、幸いでございます。

  • このFLASHファイルが動かないわけは…。

              1  2  3  4  5  6  7  8  9  10 a         ●|●                          ※ボタン。「1」にthis stopが入ってます b         ●                             ※ムービー c         ●   |●|●                    ※「3」にthis stop。ボタン d               ●                        ※ムービー。シーン上の名前は「vision」 cのボタンに on(press){ _root.vision.gotoAndPlay(2); } on(press){ this.gotoAndPlay(3); } と入ってます。 dのムービークリップは           1  2  3  4  5  6  7  8  9  10 a         ●|●  > ● のような感じです。 ※「1」にthis stopが入ってます。 cのボタンをクリックしてもdのムービーがきちんと動きません。 どこがダメなのでしょうか?

  • FlashMX2004について質問です。

    FlashMX2004について質問です。 ムービー内でボタン押下した際に別シーンor別フレームに移動したいと考えていのですが 実際はボタン押下しても、何もおきません。 (ボタン押下するフレームで、stop()発行しているのが問題?) 文法チェックでもエラーとならないため、原因がわかりません。 どなたか教えてください。 ソースは以下の通り。 on (release) { gotoAndPlay(133) }

    • ベストアンサー
    • Flash
  • Flash 5 Now Loadingについて

    イントロのムービーを3つのシーンに分けて作りました。 Now Loading をシーン1に設定しましたが、実際ブラウザで見てみると 役目を果たしておらず、画面はしばらく真っ白で、ムービーが始まる直前に Now Loading画面がチラっと見えるだけです。 アクション設定は ifFrameLoaded (61) { gotoAndPlay (3); } としてあるので、シーン1しか読み込まないので当然おかしいとは思うのですが、 _totalframesにするとシーン1を繰り返してしまうので・・ 解決できません。 シーンを分けたムービーのNowLoading設定を教えて下さい。お願いします。

  • flash の ムービークリップの制御

     フレーム1にムービークリップmovieAがフレーム2にmovieBがあります。それぞれのムービーには連続して再生されないように、フレームの最後にstopを設定してあります。  フレーム1のムービーを再生した後に、ボタンなどを使わずに自動的にフレーム2のムービーを再生させたいのですが、一体どうすればよろしいのでしょうか?GotoAndPlayを1フレーム目に設定すると、movieAを再生せずに2フレーム目に行ってしまいます。それぞのムービークリップに設定しているstopがいけないのでしょうか?何かいい解決策はありますか?フラッシュ用の掲示板でお答えいただいたのですが、それでは解決せずこちらでお伺いすることに致しました・・・。(初歩的すぎてこれ以上聞きにくいし・・・泣)よろしくお願い致します。

  • Flash オブジェクトの表示/非表示

    こんにちは。今回はオブジェクトの表示/非表示のことに関して質問させていただきます.使っているものは、Mac/FlashCS3/AS1&2 です. (フレーム名"s1"にて) MC(ムービークリップ)/pre_btn(ボタン)/del_btn(ボタン)/btn(ボタン)というオブジェクトが画面に表示してあります. (アクションフレームに) pre_btn.onRelease = function(){   MC._visible = true; } del_btn.onRelease = function(){   MC._visible = false; } (btnムービークリップアクションに) on(release){   _root.gotoAndPlay("s2") } (フレーム名"s2"にて) btn2(ボタン)のみ画面に表示されています. (btn2ムービークリップアクションに) on(release){   _root.gotoAndPlay("s1") } 以上のACを記述しました.これでMCを表示/非表示させることができ,btnをクリックし"s2"フレームに移動/btn2をクリックし"s1"フレームに移動することもできるようになりました. しかし,"s1"にて非表示にしたMCが,"s2"のフレームに移動し"s1"に戻ってきたとき,表示されている状態に戻ってしまいます. どうしたら,一度非表示にしたMCを,その後フレーム移動したとしても,非表示の状態に保つことができるのでしょうか?? どうか,ヒントだけでもいいので,何か教えていただけると嬉しいです. よろしくお願いします.

  • 2回目以降の訪問でFlashをSkipさせる方法について

    表題の方法について、以前の質問や他サイトを参考にSharedObjectというものを 使用するという事は分かったのですが、以下の方法をとったところ、初めての訪問でも Movieが再生されず、最終フレームで止まったままとなってしまいます。 どこが間違っているのか皆目検討が尽きません。 今のFlaファイルは ■先頭フレーム:ラベル名「startMovie」 ■2フレーム目 フレームActionとして var my_so = SharedObject.getLocal("MyCookie"); if (my_so.data.haveVisited != 1) { my_so.data.haveVisited = 1; my_so.flush(); this.gotoAndPlay("startMovie"); } else { this.gotoAndStop("endMovie"); } ■最終フレーム:ラベル名「endMovie」 ボタンのオブジェクトActionとして on (release) { this.gotoAndPlay("startMovie"); } フレームActionとして this.stop(); となっています。 どうしたら初めての訪問でMovieが再生され、2度目の場合は 最終フレームでSTOP、REPLAYボタンで再生、という風にできるでしょうか。 どうかアドバイスの程宜しくお願い致します。