
Actionscript3.0でプリローダーを作成しているところなのですが、なんとなくネットで検索しながら出来てきたのですが、外部ファイルを読み込むときに他のサイトでよく見る少しづつゲージや%が増えていくようになりません。
自分のは一瞬で100%になってしまいます。
これを少しづつ増やしていくやり方ってないのでしょうか?
もしあれば是非ご教授お願いします。
ネットでもいくつか載っていたのを試してみたのですが、すべてエラーになってしまいうまくいきません。
一応ここまでは作りました。
↓↓
var percent:int;
var loaded:int;
var loadtotal:int;
var loader = new Loader();
var rec = new URLRequest("komorebiTown.swf");
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,proHandler);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);
loader.load(rec);
addChild(loader);
function proHandler(ev:ProgressEvent){
loaded = ev.bytesLoaded;
loadtotal = ev.bytesTotal;
addEventListener(Event.ENTER_FRAME,loop);
}
function loop(ev){
percent = Math.floor(loaded/loadtotal * 100);
txt.text = String(percent);
}
function onLoaded(event) {
loader.removeEventListener(ProgressEvent.PROGRESS, proHandler);
loader.removeEventListener(Event.COMPLETE, onLoaded);
};
他になにか間違っているようなところあれば教えてください。
よろしくお願いします!
No.1ベストアンサー
- 回答日時:
考え方自体は私がかつてココで他の方に回答した
このような感じ↓で行くとします。
「QNo.4071675 ローディングバーをゆっくりみせる方法」
http://oshiete.goo.ne.jp/qa/4071675.html
今回ご質問の場合に
上の考え方を当てはめると
スクリプトは次のようになります↓。
-------------------------------
var loaded:int;
var loadtotal:int;
//↓本物のロード%
var percent_A:int;
//↓偽物のロード%
var percent_B:int = 0;
var loader:Loader = new Loader();
var rec:URLRequest = new URLRequest("komorebiTown.swf");
loader.addEventListener(Event.ENTER_FRAME,enterFrameHandler);
loader.load(rec);
addChild(loader);
function enterFrameHandler(ev:Event):void {
loaded = ev.target.contentLoaderInfo.bytesLoaded;
loadtotal = ev.target.contentLoaderInfo.bytesTotal;
//↓本物のロード%を算出
percent_A = Math.floor(loaded / loadtotal * 100);
//↓偽物のロード%を算出(例:2ずつ加算)
percent_B += 2;
//↓本物と偽物のうち小さい方をテキストフィールドに表示
txt.text=String(Math.min(percent_A,percent_B));
//↓本物と偽物のうち小さい方が100に達すれば
if (Math.min(percent_A,percent_B)>=100) {
//↓関数onLoadedを実行
onLoaded();
}
}
//↓関数onLoadedの定義
function onLoaded():void {
loader.removeEventListener(Event.ENTER_FRAME,enterFrameHandler);
}
-------------------------------
なお「ダウンロードのシミュレート」機能を
すでに使っていらっしゃれば以下に書くことは無視してください。
こういったものをローカルで動作検証する場合は
「ダウンロードのシミュレート」機能を使うと大変簡単に検証できます。
「ダウンロードのシミュレート」は
「制御」→「ムービープレビュー」 で一旦ムービープレビュー画面を出し
その画面から
「表示」→「ダウンロードの設定」で適当な回線速度を選び
「表示」→「ダウンロードのシミュレート」で色んな速度での表示のされかたを検証します。
上で書いたようなスクリプトに変更しなくて 元のままでも
ネット上に実際にアップすれば(または「ダウンロードのシミュレート」の設定次第では),
カウントアップする速さは,ある程度遅くなると思いますよ。
ただし元のままと言っても
function proHandler 内で
addEventListener(Event.ENTER_FRAME,loop);
をし続ける部分は間違いだとは言い切れませんが変だとは思います。
(そんなにしょっちゅう何度も同じ addEventListener をしなくても良いでしょう。)
この回答への補足
とても丁寧に説明してくださってありがとうございます!
ダウンロードのシミュレート機能も知らなかったので大変勉強になりました。
とりあえず教えてくださった通りにするとうまくいったのですが、気になるところがあったので質問させてください!
swfファイルを読み込んでいるときに100%に達する前に50%あたりで読み込みが終わってしまうのですが、これをちゃんと100%までいかせるにはどうしたらいいのでしょうか?
この部分でその処理をしているのかなと思ってたのですがうまくいきません。
↓↓
if (Math.min(percent_A,percent_B)>=100) {
//↓関数onLoadedを実行
onLoaded();
}
もう一つは読み込みの速度をもう少しスムーズに上げることって出来るのでしょうか?
すみません、自分で「少しづつ%を上げるには?」という質問を出しておきながらこんなことを聞いてしまって。
もう少しストレスを感じない程度にスーッと数字が上がっていかないかなと思いまして。
もしお分かりになればよろしくお願いします!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript gasについて 1 2022/05/31 21:51
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- JavaScript Google reCAPTCHAについて 1 2023/02/22 14:37
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
potplayerについて質問です
-
flash (.swf) を編集したい
-
arduino プログラムについて
-
ウディタで作ったゲームを公開...
-
ゲオでカードを作るのは何歳か...
-
FLASHでゲームを作っていた人は...
-
この曲はなんでしょう?
-
laptop go2からの買い替え、lap...
-
スクリップト
-
私のコンピューター上のファイ...
-
chrome flash
-
FLASHの再生はできないのでしょ...
-
フラッシュゲームアーカイブ2
-
ウェブサイトで Flash が事実上...
-
Flashコンテンツを使ったWebサイト
-
Flash Playerのサポートが終了
-
Form内のselectを連動させるに...
-
Flashをブロックしないで
-
ダウンロードしたデジブックはa...
-
ad or script について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
for文でまとめる
-
関数の中でaddEventListenerを...
-
ActionScript3.0によるPHPへの...
-
初期化について C言語
-
EnabledプロパティをFalseの時
-
選択したリスト項目のラベル名...
-
AS3の変数宣言で、変数名+00や...
-
loaderでflashを読み込んだ際の...
-
FLEX3:RegExpValidatorの正規表現
-
YouTubeの自作検索フォームで文...
-
AS3.0で取得した外部XMLの文字...
-
FlashLite4.0について
-
AS3.0で埋め込み画像を文字列か...
-
ActionScript3.0のfor文の処理...
-
ActionScript2.0の変数をjs置き...
-
スライドショーのサムネイルに...
-
経過日数のカウントアップ
-
varとは
-
サムネイルの写真にリンクをつ...
-
配列をソートしたいです
おすすめ情報