- 締切済み
AS3を使って%だけ表示するプリローダーの作成方法
AS3を使って%だけ表示するプリローダーの作成方法 はじめまして。あるサイトに掲載してあった方法でActionscript3.0、CS4を使って %のみ表示するプリローダーを制作しているのですが、どうしてもうまくいきません。 以下スクリプトになります。 //ファイルを読み込む var loader = new Loader(); loader.load(new URLRequest("VideoWall.swf")); //はじめは非表示にしてステージに追加 loader.visible = false; addChild(loader); //読み込み中に送られるイベント loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress); //読み込みが終了したときに送られるイベント loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); function onProgress(e:ProgressEvent):void { //読み込んだファイル容量/全体のファイル容量を計算 var per = e.bytesLoaded/e.bytesTotal; //読み込んだ量をパーセントで表示 holder.txt.text = Math.round(per*100)+"%"; } function onComplete(e:Event):void { //ローディング表示を消す holder.visible = false; //読み込んだファイルを表示 //loader.visible = true; } ダイナミックテキストでパーセント表示用の数字100%を書き、インスタンス名をtxtにしていますが、下記の行がエラーとなってしまいます。 holder.txt.text = Math.round(per*100)+"%"; 数字はフレーム1つめに100%としか記入していないのですが、0%から100%まで記入しないといけないのでしょうか? 下記もエラーが出てしまいます。 function onComplete(e:Event):void { //ローディング表示を消す holder.visible = false; どなたかご教授頂けますと幸いです!
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- 76masa
- ベストアンサー率50% (8/16)
エラーはなんと出るのでしょうか? こういう時は、なんとエラーがでるのか? どこか不具合なのかを突き止めると、解決が早いです。 例えば、エラーが出るという、 holder.txt.text = Math.round(per*100)+"%"; ですが、 holder.txt.text = "hoge"; とするとどうなりますか? これが出ると、holder.txt.textには問題がないとわかります。
- BlurFiltan
- ベストアンサー率91% (1611/1754)
#1です。 書いたのは > ムービークリップ:インスタンス名「holder」の中に > ダイナミックテキストフィールド:インスタンス名「txt」を入れていない。 ですよ? インスタンス名を付けたとか付けていないとかではなく 『「holder」の中に「txt」を入れていない。』 のでは? という意味です。 つまり, root(メインのタイムライン) └holder ←ムービークリップ内 └txt ←テキストフィールド という状態になっているかどうかということです。
- BlurFiltan
- ベストアンサー率91% (1611/1754)
ムービークリップ:インスタンス名「holder」の中に ダイナミックテキストフィールド:インスタンス名「txt」を入れていない。 とか, そういうことではないのでしょうか? ---別件-------------------- また > ダイナミックテキストでパーセント表示用の数字100%を書き とか > 数字はフレーム1つめに100%としか記入していないのですが の意味がわかりません。 なぜ 100% を書く必要があるのか, また フレーム1つめとは? そもそもフレームが100個もあるのですか? フレームは1つで良いと思いますが。
補足
アドバイスありがとうございます。 <ダイナミックテキストフィールド:インスタンス名「txt」を入れていない。 holder、txt共インスタンス名入れてます <なぜ 100% を書く必要があるのか, <またフレーム1つめとは? <そもそもフレームが100個もあるのですか? <フレームは1つで良いと思いますが。 見つけたマニュアルには「ダイナミックテキストでパーセント表示用の数字を書き、インスタンス名をtxtに」とあり、イメージには100%が記入されてました。 (http://d.hatena.ne.jp/habu024/20100111/1263225790#c) <なぜ 100% を書く必要があるのか, 何も記入しない場合もエラーは下記が同様にでます Type was not found or was not a compile-time constant: holder. 私もフレームは一つだけ使用して「100%」と記入したのですが、0%?100%まで各フレームに記入する必要があるかと思ったので一応フレームは一つでいいのか質問させてもらいました。 更なるアドバイス頂けますと幸いです。
補足
すみません。お返事の解釈を間違えていました。 > ムービークリップ:インスタンス名「holder」の中に > ダイナミックテキストフィールド:インスタンス名「txt」を入れていない。 はダイナミックテキストフィールド:インスタンス名「txt」は ムービークリップ:インスタンス名「holder」の中に入っております。 他に何か思い当たる点がございましたら 是非教えていただきたいです。 宜しくお願いいたします