再生しない?

このQ&Aのポイント
  • 質問者はゲーム制作中に突然再生しない状況になり、解決方法を探しています。
  • 問題は_root.gotoAndPlay("ats")のコマンドが機能しないことで、原因は不明です。
  • この問題は一部の部分的な現象であり、ゲームの完成に近づいているため解決が急がれています。
回答を見る
  • ベストアンサー

再生しない?

何度もスミマセン。 こちらでなんだかんだと質問して その都度、解決してもらってます。 恐ろしい容量のゲームが完成間近となってきたのですが あと一歩の所で原因不明の病に悩まされています。 各フレーム、ボタン等に様々なスプリクトを盛り込み その都度時間のかかる書き出しでプレビューし バグやエラーを発見しつつ動作確認を行っている中、 何をした記憶もないのですが _root.gotoAndPlay("ats"); の命令を聞いてくれません。 これは、atsと名前の付けたフレームにジャンプするといった 比較的簡単な動作だと思うのですが落とし穴が発見できません。 しかも、今まで問題なく動いてたのにプレビューすると ジャンプはしているようですがPlayしてくれないのです。 まるで _root.gotoAndStop("ats"); をしたのか、はたまたジャンプ先で Stop(); しているのか必死で探しましたが そういう事をした記憶もなく何故急にそうなったかが分かりません。 しかも全部のジャンプがそうなったのではなく 部分的な現象なので手に負えません。 そろそろ完成に近づいているのでとても 諦めるにはつらいものがありましたので 懲りずに質問とさせていただきました。

  • Flash
  • 回答数3
  • ありがとう数2

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

  • ベストアンサー
noname#35109
noname#35109
回答No.3

#1&#2です。 >> 折角、今までご指導くださいました皆様には >> 大変失礼ながら挫折しておきます。 それはもったいない。 失礼ではないのですが,せっかく作ったのに… >> もう少し知恵がついたら >> 違うソフトでチャレンジしてみたいと思います。 でもオブジェクト指向の普通のソフトもたいてい1つのEXEでは済ませていませんよ。 EXEもたくさん用意して連携させますし,dllファイルも使います。またlogやdatファイルなど,色々なデータはたいてい外部に置いています。 他のプログラムも,Flashも外部との連携で容量オーバーやメモリオーバーをカバーすることには変わりありません。 シーンごとにSWFファイルを作って,それをメインのSWFに読み込ませる。 それでなんとか解決するとは思うのですが… パブリッシュも訂正した部分だけで良いので,そんなに時間はかかりません。 ちなみに,プロジェクタにパブリッシュしたEXEファイルでも,外部SWFファイルをロード(loadMovie)することは普通に可能です。 Flashプレーヤーを持っていない(インストールしていない)PCでも,ロードするEXEさえ作っておけば,SWFをその中にloadMovieすることはできます。 その辺で考え直していただければ,今まで作られたデータも無にすることはないのですが… 無理にとは言いませんが,もったいないと思ったもので,書かせていただきました。 ではでは。

その他の回答 (2)

noname#35109
noname#35109
回答No.2

回答と言うより,#1などの補足と一般的な話です。 http://okweb.jp/kotaeru.php3?q=1411390 ( http://oshiete1.goo.ne.jp/kotaeru.php3?q=1411390 ) の#4さんの助言より,無断引用。 >> あまり大きすぎるとパブリッシュに時間がかかったり、 >> パブリッシュの途中で失敗することがあります。 >> また、たとえ自分の環境では問題がなかったとしても、 >> 閲覧者のパソコンがスペックの劣るマシンだったとしたら、 >> 処理が遅くなったりシステムがフリーズするなど、 >> 深刻な障害を引き起こす可能性もあります。 というのが,現実になってきているのだと思います。 十数MB(数十BM?)のファイルの中から("ats")を瞬時に探すというのは,どうしてもくるいが出てくると思いますし, パブリッシュ時にすでにおかしくなっているのかもしれません。 前回のご質問,「質問:GOTOで思ったように飛ばない」のときに,すでにそういう症状が出てきていたのだと思います。 ちなみに私は(というか一般的にもそうだと思いますが), SWFファイルのアップを考える場合,100KB以下を目安にしています。 どうしても,同時に重い画像を表示させないとならない場合やサウンドが絡んでくるとそうも行かない場合が出てきます。 そのときはNowLoading付きでせいぜい頑張って2~300KBくらいです。 それ以上は,loadMovieを駆使して,なるべくスムーズにつなげます。 だいたい,それくらいが常識の範囲だと思ってください。 当然,普通のバナーなどになるともっと軽く,努力目標20KB。 リンク用バナーになると10KB以下は当然。 それくらいじゃないとISDNとかは本当に見るのが不可能になりますし,Flash自体はそれくらいに楽々できるようになっています。 >> this.onEnterFrame = null; >> play(); >> は使えそうな気がします。 わかっていらっしゃるとは思いますが,その前の, ---------------------------------- this.onEnterFrame = function() { play(); }; --------------------------------- が本体ですからね。 そのままだと.onEnterFrameがかかりっぱなしになるので, this.onEnterFrame = null; でそれを止めているだけです。 でも,書かれている, _root.gotoAndPlay("ats"); によってすでに,"ats"フレームよりずれたところにジャンプしていたとすると, 上記,this.onEnterFrame = function() …… は効きませんので, もしそうだった場合,そこら中(その前後数フレーム)に書くしかないような気がします。 今回の最後に, >> this._root.play();っておまじないをしてみました。 そんなことスクリプトを書いた経験がありません~。 相対パスと絶対パスがグチャグチャ… 本当に,大丈夫ですか? パブリッシュに2時間…, 気が遠くなる…

irukacyan
質問者

お礼

むぅ・・・・・・ やはり無理がありましたか。 ビジュアルベーシックを扱えるほど能力がありませんし コミックプレイヤーを使うには自由性が無く フラッシュで唯一ゲームが作れそうな気がしたんですが やはり私のようなツギハギだらけの知識では 満足したものを作るのは無理なようでした。 折角、今までご指導くださいました皆様には 大変失礼ながら挫折しておきます。 もう少し知恵がついたら 違うソフトでチャレンジしてみたいと思います。 本当に有難うございました。

noname#35109
noname#35109
回答No.1

それは,UPする前,SWFなどを再生させる時の現象ですか? それだと,もうかなり重傷のように思います。 ファイルが重すぎるのですよ,きっと。 不具合がかなり生じてきているのです。 UPした場合の不具合だと絶対の絶対にNowLoading画面が必要です。 gotoするフレームデータがロードされる前にgotoしようとしたらよくそういうことが起こります。 でもおそらくアップする前の状態でしょうね。 "ats"フレームに,おまじないで, ------------------ play(); ----------------- と書いておきますか。ふつうは無意味ですけど。 それでもだめだったら, "ats"フレームに, ---------------------------------- this.onEnterFrame = function() { play(); }; --------------------------------- 次のフレームか,2~3フレーム後のフレームに, ----------------------------- this.onEnterFrame = null; play(); ---------------------------- ですかね。 動かなければ,強制Playです。 こんな方法をしたことはないですけど,なんとか動く気はします。 根本的問題解決と言うより,応急処置といった感じの方法です。

irukacyan
質問者

お礼

なるほど、強制Playでしたか。 もしかしてと思って this._root.play();っておまじないをしてみました。 結果は2時間後なのです。 (重くって書出しに2時間要します^^;) 重すぎて誰もプレイできないゲームかもしれないんだけど 楽しみに待ってくれている仲間達にも応えたいので なんとか頑張ってみようと思います。 ちなみに、ローディング画面は1フレーム用意しています。 全て取り込んでから再生って形にしているのですが 他フレームでのジャンププレイは動くのですが 何故か一つのフレームだけいう事を聞いてくれない;; this.onEnterFrame = null; play(); は使えそうな気がします。 明日挑戦してみますね。 ありがとうございます。

関連するQ&A

  • (1)loading後再生→(2)すぐにアクセスした場合飛ばす

    現状できてることは (1)トップページにてLoading後(一分くらい)→再生→最後のフレームではストップ (2)そしてサブからトップへすぐに戻ったとき→Loading(一分)後、再生せず→最後のフレームでストップということまではできてます。 問題は(2)の"またLoading(一分)後”なのです。 サブからすぐにトップへ戻ったときは再生せずに 最後のフレームへジャンプしてくれるのはいいのですがその前にLoadingが発生して一分たってから最後の フレームへジャンプするのです。このときのloading の防ぎ方を教えてください。 現状スクリプトを下にて参考にしてください。 Flash MX6 フレーム数940 フレーム1 onClipEvent (load) { _root.stop(); //タイムラインの1フレーム目で止めておく } onClipEvent (enterFrame) { // すべて読み込んだら3フレーム目へ if (100 == Math.floor(_root.getBytesLoaded()/_root.getBytesTotal()*100)) { _root.gotoAndPlay(3); } } フレーム 2 gotoAndStop (1); ---------------↑ここまではLoading--------------- フレーム4 onClipEvent (load) { myObject = SharedObject.getLocal("Watch"); myDate = new Date(); Watch2 = myDate.getTime(); if (myObject.data.Watch1 != undefined) { Watch1 = myObject.data.Watch1; } else { Watch1 = 0; } //ココは60000で一分 if (Watch1+60000>Watch2) { //ここを最終フレーム _root.gotoAndStop(920); } } onClipEvent (enterFrame) { myDate = new Date(); Watch3 = myDate.getTime(); myObject.data.Watch1 = Watch3; } ----------↑一分内は940へジャンプ(前回sassakunさんにてご回答)-------------- フレーム4をフレーム1へ先にもってきたり 色々ためしましたがうまくいきませんよろしくおねがいします。

    • ベストアンサー
    • Flash
  • gotoAndPlay gotoAndStopについて

    こんばんは。flash初心者なので恥ずかしい質問なのですが、少々困っているので先人のお知恵を拝借させて下さい。 Flashメニューを作成しています。 _root.middle.button1_1という場所のアクションです。 on(rollOver) {   _root.middle.button1_1.gotoAndPlay("over");   _root.bottom.gotoAndStop("1_1"); } on(rollOut) {   _root.middle.button1_1.gotoAndPlay("out");   _root.bottom.gotoAndStop("rollout"); } 【マウスを被せた時】 button1_1というインスタンスをoverから再生させ、 同時に、_rootにあるbottomというインスタンスを1_1というフレームで停止。 【マウスを離した時】 button1_1というインスタンスをoutから再生させ、 同時に、_rootにあるbottomというインスタンスをrolloutというフレームで停止。 困っているのは、同じ書き方で動いたり動かなかったりするのです。 _root.middle.button1_1.gotoAndPlay("over"); で動いたと思っていたら、突然動作しなくなるので、 gotoAndPlay("_root.middle.button1_1","over");に書き換えると動作するのです。しばらく作業をしていると、今度は逆の状態になったりします。 これはどうした事でしょう?そもそもインスタンス名にアンダーバーを使用するのはまずかったりしますか? OSはWindows XP 作成ソフトがFreeMotion バージョンがFlash7です。 情報お待ちしています。

    • ベストアンサー
    • Flash
  • 読み込まれた外部ムービーからのコントロールについて

    下記のファイルなど(※)を用意します。 (?)の部分にどのような記述をすれば、(?)のボタンアクションによってyomikomu.exeのシーン2フレーム1を表示させられますか。 使用ソフトは、FLASHMXです。よろしくお願いします。 ※ My Documentsフォルダ  yomikomu.exe   シーン1    レイヤー2 フレーム1・15 インスタンス名:yomikomareru    レイヤー1 フレーム15 フレームアクションgotoAndStop("シーン 1", 10)    レイヤー1 フレーム6 フレームアクション_root.yomikomareru.gotoAndPlay(6)    レイヤー1 フレーム1 フレームアクションloadMovie("/gaibu/yomikomareru.swf", "yomikomareru")   シーン2    レイヤー3 フレーム1・15    レイヤー2 フレーム1・15 インスタンス名:yomikomareru    レイヤー1 フレーム15 フレームアクションgotoAndStop("シーン 2", 12)    レイヤー1 フレーム11 フレームアクション_root.yomikomareru.gotoAndPlay(11)    レイヤー1 フレーム1 フレームアクションloadMovie("/gaibu/yomikomareru.swf", "yomikomareru")  gaibuフォルダ   yomikomareru.swf    シーン1     レイヤー2 フレーム11・15     レイヤー2 フレーム6・10 ボタンアクション(?)     レイヤー2 フレーム1・5     レイヤー1 フレーム15 フレームアクションgotoAndPlay("シーン 1", 11)     レイヤー1 フレーム10 フレームアクションgotoAndPlay("シーン 1", 6)     レイヤー1 フレーム5 フレームアクションgotoAndPlay("シーン 1", 1)     レイヤー1 フレーム1

    • ベストアンサー
    • Flash
  • 一定処理せずに待つアクションスクリプトを教えて下さい。

    こんにちは、 現在WinでFlash MXを使用してます。 getTimer関数を使用して待ち時間を作ってみたのですが動作しません。 現在作成したプログラムは ◆1フレーム目 startTime = getTimer(); timeOut = 3000; ◆2フレーム目 if( getTimer() > startTime + timeOut ){ gotoAndPlay(3); } else{ gotoAndPlay("lop"); } このようになっており、 ”3フレーム目”にジャンプしてほしいのですが、 ジャンプしません。 何故でしょうか?

    • ベストアンサー
    • Flash
  • ボタン・ムービーの操作について

    マスクレイヤーの配下のレイヤーに複数のムービーシンボルを配置します。その複数のシンボルを一つのムービーシンボルにします。 個々のムービーシンボルが押下されたら、シーン1(Level0)の当該フレームにジャンプさせたいのですが、Scriptでどういう指定をすれば良いのでしょうか?。 ・aa.onPress = function { gotoandplay(20) ; } ------->無反応 ・aa.onPress = function { _root.gotoandplay(20) ; } ------->無反応 TraceでScriptが正しく動作している事は確認しました。 どうぞ宜しくお願い致します。

  • ムービープレビューの動きがおかしくて困っています。

    WinXP FlashMXです。 以前から使っていて、今までは普通に作動していたのですが、最近動作がおかしくて困っています。 特に透明ボタンが正常に作動しません。 たとえば、透明ボタンの「ダウン」にサウンドを配置してプレビューすると、その透明ボタンが現れただけでサウンドが鳴ってしまい、クリックすると再びサウンドが鳴ります。 上記とは別の透明ボタンに、 on(release){ gotoAndStop("japan"); } と記述して"japan"のフレームにジャンプしようとしても、なぜかムービーの最初に戻って再生されてしまったりします。(最初のフレームが"japan"というわけではありません) ほかにも、表示されないはずのコメントが表示されてしまったり、とにかくおかしな動作になっています。 ムービープレビューの不可解な動きは、再生するたびに不具合の出る箇所が違っていたりします。 以前はこんなことはなかったのに、もうどうなってしまったのかわかりません。 わかる方はいらっしゃいますか?

    • ベストアンサー
    • Flash
  • FLASHのBGMのミュートについて

    FLASH MXを使いホームページ編集の勉強をしているのですが、 スピーカーのボタンを使ってのBGMのミュートが上手くいきません。 分かる方いますでしょうか? 編集前の1フレーム目のアクションが stop(); trace("_root.soundstatus - " + _root.soundstatus); if (_root.soundstatus == "off") { gotoAndStop(2); } // end if 2フレーム目のアクションが stop(); となっています。 どのように編集すれば、正常に動作するのでしょうか? 分かる方いましたら、宜しくお願い致します。

  • Suzukaで ある変数の値が、指定した数値になった時に動作させるASはどう記述したらいいのでしょうか?

    フラッシュ初心者です。 練習と勉強の為に、カードゲームを作っています。 プレイヤーがコインを持っていて増やしていくゲームです。 質問したいのは、 プレイヤーの持っているコイン(変数_root.coin)が0枚になった時に ゲームオーバーの画面を出したいのですが、 アクションスクリプトはどう記述したらいいのでしょうか? 私がやった方法です。 アクションフレームに以下のように記述したのですが上手くいきませんでした。 if(_root.coin <= 0){ _root.gameover.gotoandplay(ゲームオーバー画面へ); } 変数を条件に動作をさせるという事はできないのでしょうか? どうしたらうまく _root.gameover.gotoandplay(ゲームオーバー画面へ); 動作させる事ができるのでしょうか。 ご存知の方いらっしゃいましたら、宜しくお願いします。

    • ベストアンサー
    • Flash
  • 1フレーム~5フレームまで表示されなくなったのは。。。

    こんにちわ毎回お世話になっております 新しいフラッシュを作ったのですが 前回のフラッシュにしようしたロード画面を 使いまわしました。 ムービークリップ自体には onClipEvent (load) { _root.stop(); } onClipEvent (enterFrame) { if (100 == Math.floor(_root.getBytesLoaded()/_root.getBytesTotal()*100)) { _root.gotoAndPlay(5); } } onClipEvent (enterFrame) { this.gotoAndStop(Math.floor(_root.getBytesLoaded()/_root.getBytesTotal()*100)); } と前回同様記述しました。 しかし今回はロード画面がでず 白紙の画面のまま読み込みが完了し そのままフレーム5に進んでしまっています。 何回もやりなおしたのですが どうしても白紙のまま読み込んでしまいます。 これはFLA自体が破損?したのでしょうか? 非常に困っています。 なにかアドバイスがありましたらお願いいたします。 別のロードムービーを作ったものの 白紙のまま読み込みされました。。。 FLASH8 WIN XP使用です。

    • ベストアンサー
    • Flash
  • 停止してしまうgotoAndPlay

    愛想尽かされてしまいそうなのですが 質問をさせて頂きます。 どうも、フレーム上に書くスプリクトと クリップイベントの動作制限がイマイチ分かりません。 ある、ムービークリップがステージに配置されており onClipEvent (enterFrame)で移動制御しています。 (this._x-=5てな具合です) そのムービークリップは30フレームほどで形成されており しょっぱなのフレームでstop();をかけ、ムービークリップが自動的にアニメしないように停止させています。 で、on (press) にてそのムービークリップが マウスで押されたときにthis.gotoAndPlay("ラベル名");と、 その停止されていたムービークリップがマウスダウンをきっかけに動くといったものです。 ※ ここまでは思惑通りに進行できたのですが・・・・ マウスが押されるとか押されないとかは別に 例えば時間的に又はムービークリップがある一定の場所に到達したときに 停止させてたアニメを動作させたいのです。 私なりに考え、 onClipEvent (enterFrame)の命令の中で IF文にて座標を調べ特定の場所に着たので this.gotoAndPlay("ラベル名");にて動作させようとしたら ダメでした。 画像は変化しているので、ジャンプはしているようなのですが 何故か1コマで停止しているようです。 onClipEvent (enterFrame)内で this.gotoAndPlayは無効なのでしょうか? 手引書にはそれぞれの機能説明はありますが 使用制限が記載されていないので どういう間違いを犯しているのかわかりません。 上記、宜しくお願い致します。 尚、本件は別欄でご質問させて頂いてます物とは 別扱いとなります。 (質問ばかりでスミマセン。何かお勧めの手引書でもあれば教えて下さい)

    • ベストアンサー
    • Flash

専門家に質問してみよう