ローディングバーをゆっくりみせる方法

このQ&Aのポイント
  • 自分の作品をのせる個人サイトを作成しています。ルートにloadingというレイヤーを作成し、入れ子にして中に入り、_parent.stop();total = _parent.getBytesTotal();loaded = _parent.getBytesLoaded();percent = Math.floor(loaded/total*100);bar._xscale = percent;if (percent/100>=1) {gotoAndStop(3);_parent.play();}というように記述し、外部swfファイルを読み込ませる度にloadingの1~3フレームを繰り返す仕組みにしてます。
  • ローディングバーが一瞬しか表示されないことを改善する方法はありますか?
  • 企業サイトなどではローディングバーをゆっくり読み込ませる工夫がされている場合がありますが、どのようにすれば実現できるでしょうか?
回答を見る
  • ベストアンサー

ローディングバーをゆっくりみせる方法

自分の作品をのせる個人サイトを作成しています。 ルートにloadingというレイヤーを作成し、入れ子にして中に入り、 _parent.stop(); total = _parent.getBytesTotal(); loaded = _parent.getBytesLoaded(); percent = Math.floor(loaded/total*100); bar._xscale = percent; if (percent/100>=1) { gotoAndStop(3); _parent.play(); } というように記述し、外部swfファイルを読み込ませる度に loadingの1~3フレームを繰り返す仕組みにしてます。 この作り方だとローディングバーが一瞬しか表示されないので確実に読み 込んでいるようにゆっくりとみせたいのですがこの場合どのようにしたら よいのでしょうか?(もちろん本来ならローディングバーなど表示されない ほうがストレスにはならないのでしょうが、サイトに統一感をもたせたく てゆっくりと読み込ませたいです。) 前に企業サイトなどでは裏技みたいな感じでローディングバーをわざと ゆっくり読み込ませる工夫がしてあるとお聞きしたのですが。。。 よろしくお願いします。

noname#124617
noname#124617
  • Flash
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
回答No.1

percent = Math.floor(loaded/total*100); のところを if(percent<loaded/total*100){ percent+=5; } にしてみては?

noname#124617
質問者

お礼

教えていただいた方法ではできませんでした。 AS2.0形式でフレームに一括でASを書いてみたところ ゆっくりみせることができました。 ありがとうございました。

関連するQ&A

  • ボタンを押してもすぐ戻ってしまう・・・。

    1フレーム目に、 onEnterFrame = function():Void { if (_totalframes == _framesloaded) { gotoAndStop("snap"); } total = _root.getBytesTotal(); loaded = _root.getBytesLoaded(); percent = Math.floor(loaded/total*100); _root.bar_mc._xscale = percent; }; stop(); と記入し2フレーム目のフレームラベルをsnapに。 2フレーム目には、画像と次のフレームにいくボタンが置いてあります。 ボタンには、 on(press){ gotoAndStop(3); } と書いてあるのですが。 このボタンを押すと、確かに3フレーム目にいくのですが、すぐ2フレーム目に戻ってしまうんです。 初めてローディングバーをつけてみたので、間違いだらけかもしれないですがどうすればいいか教えてください><

    • ベストアンサー
    • Flash
  • now loding.......

    onClipEvent (load) { total = _root.getBytesTotal(); } onClipEvent (enterFrame) { loaded = _root.getBytesLoaded(); percent = int(loaded/total*100); text = " "+percent+"%"; gotoAndStop(percent); if (loaded == total) { _root.gotoAndPlay(2); } } と、いうスクリプトが記述されているのですが、すべてダウンロードしないうちに再生してしまい、ナローバンドで見たときに、途中の動きがギクシャクしてしまいます。 このスクリプトをどういじれば解決するのでしょうか? ご教授くだされば幸いです。

  • Loadign途中に再生させる方法

    Flashでアニメーションを作成しているのですが、LoadingのActionScriptについて アドバイスいただけないでしょうか。 まず、現在下記のActionScriptで100%読み込んでから再生する方法を取っています。 -----ActionScript------------------------------- Total = _root.getBytesTotal(); Loaded = _root.getBytesLoaded(); if (loaded>=Total) { _root.play(); } else { parcent = (Loaded/Total)*100; parcent_text = Math.round(parcent); Bar.p_Bar(parcent_text); _root.stop(); } ------------------------------------------------- ところがあまりにもloadingに時間がかかる為、途中まで読み込んだら 再生するようにしたいのですが、その場合どのようにすれば良いのでしょうか。 どうぞ宜しくお願い致します。

    • ベストアンサー
    • Flash
  • Flash:外部JPEG読み込み待ちについて

    こんにちは。どうぞよろしくお願い致します。 Flash MX2004使用です。 外部JPEGを4枚読み込ませ、 4枚全部読み込み終わるまで再生をストップさせる またはローディング画面を表示する という事をやりたいのですが、なかなかうまくいきません。 現在の状況は、1フレーム目に this.ph01.loadMovie("01.jpg"); this.ph02.loadMovie("02.jpg"); this.ph03.loadMovie("03.jpg"); this.ph04.loadMovie("04.jpg"); 「ph01」に onClipEvent (load) { this._parent.stop(); } onClipEvent (data) { if (this.getBytesTotal()>0 && this.getBytesTotal()<=this.getBytesLoaded()) { if (this._parent.ph02.getBytesTotal()>0 && this._parent.ph02.getBytesTotal()<=this._parent.ph02.getBytesLoaded()) { if (this._parent.ph03.getBytesTotal()>0 && this._parent.ph03.getBytesTotal()<=this._parent.ph03.getBytesLoaded()) { if (this._parent.ph04.getBytesTotal()>0 && this._parent.ph04.getBytesTotal()<=this._parent.ph04.getBytesLoaded()) { this._parent.play(); } } } } else { this._parent.stop(); } } と書いています。 何分ActionScriptはまだまだサンプルの真似事とちょっと手を加える程度の知識しかないもので、上に書いた物もものすごい間違い方をしているかもしれません(恥) 読み込むJPEGファイルは大したサイズではないので、一般的な回線速度なら普通に再生しても読み込みが再生に追いつかないという事もないのですが、先方の指示で絶対に!!全ての画像を読み込み終わるまで再生しないように!!と言われています。 どなたか、どうかお力を貸して頂けないでしょうか。 よろしくお願い致します。

    • ベストアンサー
    • Flash
  • FLASHのプリロードについて…

    こんにちは。 最近FLASH MXをはじめたばかりの初心者です。 プリロード画面を作ったのですが、全て 読み込むまでに結構な時間がかかってしまいます。 そこで、全部読み込んだ時点で再生、ではなくて ある一定のフレームまでもしくは全体の○%まで 読み込んだら再生を始める、というようにしたいの ですが、そんなアクションはないでしょうか? onClipEvent(enterFrame){ total=_root.getBytesTotal(); loaded=_root.getBytesLoaded(); if(loaded==total){ _root.play();}} 今は↑のように書いています。 ご回答宜しくお願いします。

  • 外部JPG読み込みでのLoading

    こんにちは。 FLASH MXでものすごく単純なことをしようとしているのですが、 出来ずに困っております。 外部JPGを読み込むときにloading画面を表示したいのですが、 それが出来ずに困っております。 レイヤーが下記の様に3つあります。 script loading(loadingの文字)1フレーム目に文字、2フレーム目は空 base(読み込み用のMC) scriptの1フレーム目に下記のスクリプトを書いております。 --------------------------------------------------------- base.loadMovie("thumb/"+_name+".jpg"); if(this.getBytesTotal() < this.getBytesLoaded()){ this.gotoAndstop(2); }else{ this.stop(); } ---------------------------------------------------------- これでプレビューすると写真読み込みは完了しているのですが、 loadingの文字が写真の上にかぶさったままになります。 どのようにすればよろしいでしょうか?お教えいただければ 幸いです。

    • ベストアンサー
    • Flash
  • Now Loadingから次のフレームに行かない

    Flash8です。 1フレームに全体のサイズを読み込むスクリプト ------------------------- this.onEnterFrame = function() { nParcent = (_root.getBytesLoaded()/_root.getBytesTotal())*100; if (nParcent == 100) { _root.play(); delete this.onEnterFrame; } }; _root.stop(); ------------------------- と、%を数字で表記するためのスクリプト ------------------------- onClipEvent (enterFrame) { num = Math.floor(_root.getBytesLoaded()/_root.getBytesTotal()*100); _root.nowloading.percent = num+"%"; } ------------------------- を入れていて、100%読み込んだら次のフレームより開始(再生)したいのですけど、 現状読み込んで(数字も0から100に上がって行って)、100%になった状態でストップして再生しません。 何が足りないのでしょうか? アドバイスお願いします!

  • 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
  • mcのスクロール

    以下のムービーを作ったのですが動作がおかしいです。 ----------------ステージ------------- | [ボタン]  [photo(mc_0とmc_1)] | ------------------------------------- 【ムービーの説明】 load時:photo(mc)がmcPos[-203]の位置に移動 enterframe:ボタンにmouseoverでそれぞれの座標に移動 ※photoは同じものを二枚重ねて、それぞれにmc_0とmc_1とインスタンス名をつけて、異なるスピードで移動。「//」で斜めにマスクを作っているので、ひとつの写真が斜めにずれながら移動しているように見える 【おかしな動作】 loading動作してない状態(FlashMXで単にCtrl+Enter)した状態だと再生時に「mcPos」の「-203」にphotoは移動するのですが、loadingを動作させると再生時にphotoが移動しない。ボタンにonRollOverしたときには、ちゃんとそれぞれの座標に移動します。ただ再生時に「mcPos」の「-203」に移動しない。 /---rootの1フレーム目(ローディング)---/ this.stop(); defWidth = bar._width; if (getBytesLoaded() == getBytesTotal()) {gotoAndStop("start");} this.onEnterFrame = function(){ per = Math.floor(getBytesLoaded()/getBytesTotal()*100); loading = "Now Loading..."+per+"%"; bar._width = defWidth*(per/100); }; /---rootの2フレーム目---/ this.stop(); mc_0.setMask(mask_0); mc_1.setMask(mask_1); mcPos=new Array(); mcPos=[-203, -589, -1361, 183, -975, -1747]; this.onLoad=function(){a=0;}; this.onEnterFrame = function(){ mc_0._x += (mcPos[a]-mc_0._x)/1.4; mc_1._x += (mcPos[a]-mc_1._x)/2; }; /---rootの2フレーム目(インターフェイス)---/ ボタン(mc)の編集画面 on(rollOver){_root.a = 0;gotoAndStop("top");} on(rollOut){gotoAndStop("out");} on (release, releaseOutside){getURL("index.html");}

    • ベストアンサー
    • Flash
  • Math.floorがうまく動きません…

    Flase8初心者です。 NowLoading画面に%を表示させようと思いスプリクトを書いたのですが、 Math.floorがうまく動かないのか小数点以下まで表示されてしまいます。  スプリクトは下記のものです。 this.onEnterFrame = function() { Parcent = (_root.getBytesLoaded()/_root.getBytesTotal()*100); Parcent_txt.text =Math.floor(Parcent); if (Parcent == 100) { _root.play(3); } }; _root.stop(); どこかに間違いがあるのでしょうか? 回答、よろしくお願い致します。

    • ベストアンサー
    • Flash

専門家に質問してみよう