- 締切済み
AS3.0 ローディング
こんにちは。 AS3.0でローディングを作成しているんですが、 うまくいきません。。 現状はこんなかんじです。。 参考書を参考に作成したんですが、 タイムライン上の1フレーム目に下記のASとloading_barを配置してあり、 ローディング終了後、2フレーム目から再生したいんですが、 ローディングが終了した後、そこからびくともうごきません。。。 var swf_loaderInfo = this.loaderInfo; swf_loaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress); swf_loaderInfo.addEventListener(Event.COMPLETE, onLoaded); function onProgress(event){ var percent = Math.floor(swf_loaderInfo.bytesLoaded/swf_loaderInfo.bytesTotal*100); loading_bar.loaded_mc.scaleX=percent/100; }; function onLoaded(event){ swf_loaderInfo.removeEventListener(ProgressEvent.PROGRESS, onProgress); swf_loaderInfo.removeEventListener(Event.COMPLETE, onLoaded); this.play(); }; AS自体、学び始めてまもない初心者中の初心者です。。。 参考サイトやアドバイスなどありましたら、 どうぞよろしくお願いします。。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- BlurFiltan
- ベストアンサー率91% (1611/1754)
ローディングバーの階層構造は次のようになっているということですよね。 root(メインタイムライン) └loading_bar(ムービークリップ) └loaded_mc(ムービークリップ) 実際にroot(メインタイムライン) のフレーム1に 書かれていらっしゃるActionScriptをコピペで確認してみましたが問題なく動作しましたよ。 パブリッシュ設定 を Flash Player 9 にしても Flash Player 10 にしても動作しました。 もっとも 書かれていらっしゃるスクリプトの前に this.stop(); くらいは要りますが,それ以外は全く無修正で無事に動作しました。 厳密に言えば 関数 や 変数 の型指定を入れた方が良いですが それは 「した方が良い」 というレベルの話で 「間違っている」 とか 「無事に動作しない」 とは無関係なので とりあえずこの件は無視した方が良いです。 おそらく書かれていらっしゃらない部分に問題があるのではないかと思います。 思いつくまま適当に書くと 例えば, [ファイル]→[イメージの書き出し] で書き出したSWFをひたすら眺めている。 とか, root(メインタイムライン)の フレーム2 に なぜか gotoAndStop(1) が書いてある。 とか, 中に stop() が書いてある関数が Event.ENTER_FRAME などで実行され続けている。 とか, root は 2~3フレーム くらいしかないので瞬時にループ再生し,再び フレーム1 に戻って来て止まっている。 とか, loading_bar などの消し忘れで フレーム2 以降も loading_bar などが見えるため,フレーム2 以降に進んでいるにも関わらず,フレーム1 で止まっているように見えているだけ。 とか, [パブリッシュ設定] の [Flash]タブ で,スクリプトのバージョンが ActionScript 2.0 になっている。 とか,とか,........。 そういうことは 作者当人であったり現物を見た者でなければわからないので 何とも言えないか 上のように やみくもに無茶苦茶言うしかありませんね。
お礼
すみません。 なんとかできました! 丁寧なご回答ありがとうございました!!
補足
ありがとうございます!! >>root は 2~3フレーム くらいしかないので瞬時にループ再生し,再び フレーム1 に戻って来て止まっている。 でした!! rootの2フレーム目には、再生させたいMCが置いてあるのみでした。 それを直接rootに置いたら問題無く動きました!! しかし、rootをコンパクトにまとめておきたいです。。。 今のままでも再生することはかのうでしょうか?? 重ねて質問してしまい、申し訳ありません。。