
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
すみません。
。。すごく勘違いをしておりました。。
プリローダーですよね。
ただ%を表示するというのではなくて
バーのようなものを表示ですよね。。
再度スクリプトを書いてみました。
どうでしょうか?
ただ縦2px横1pxのSpriteをaddChildしてあげて
それを読み込んだ%でのばしてあげています。
そこの記述が
sp.width = (stage.stageWidth/100) * loadNum;
ここになります。読み込みが終わったら最後の
/*ここに次の処理を記述☆*/の部分で2フレームにいくなり
関数を記述するなりしてくださいませ。
またなにかありましたらお聞きください。
/*パーセンテージを表示するスプライト*/
var sp:Sprite = new Sprite();
sp.graphics.beginFill(0x000000);
sp.graphics.drawRect(0, stage.stageHeight/2, 1, 2);
sp.graphics.endFill();
addChild(sp);
/*ローダーインスタンスを作成*/
var loader:Loader = new Loader();
/*ロードされた定数*/
var loadNum:int = 0;
var loadedNum:int = 0;
/*イベントのリスナー登録*/
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressEvent);
loader.contentLoaderInfo.addEventListener(Event.OPEN, loadStart);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComp);
/*URLRequestでurlを指定してロード*/
loader.load(new URLRequest("scene.swf"));
/*ロードがスタートする時に呼び出される関数*/
function loadStart(e:Event):void {
addEventListener(Event.ENTER_FRAME, checkLoader);
}
/*エンターフレーム*/
function checkLoader(e:Event):void {
/*読み込まれた%まで数値を追加*/
if(loadNum < loadedNum) {
loadNum ++;
}
/*ローダーをのばす*/
sp.width = (stage.stageWidth/100) * loadNum;
/*もしloadNumが100の場合はエンターフレームを削除*/
if(loadNum >= 100){
removeEventListener(Event.ENTER_FRAME, checkLoader);
trace("100%");
}
}
/*ロードされるたびに呼び出される関数*/
function progressEvent(e:ProgressEvent):void {
loadedNum = e.bytesLoaded / e.bytesTotal * 100;
trace(loadedNum);
}
/*ロードが読み込まれたらリスナーを削除*/
function loadComp(e:Event):void {
/*リスナー削除*/
loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressEvent);
loader.contentLoaderInfo.removeEventListener(Event.OPEN, loadStart);
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, loadComp);
/*ローダー削除*/
removeChild(sp);
/*ここに次の処理を記述☆*/
gotoAndStop(2);
}
この回答への補足
すいません。。
ステージ上になにを設置すればいいのか分かりません。
簡単で結構ですので、スクリプト以外の設定や作成法を
教えて頂けると有難いです。
どうか、よろしくお願いします。
No.1
- 回答日時:
下記スクリプトをアクションフレームの1フレーム目に
書いてみてください。またopening.swfはロードしたいものを
いれてください。
/*パーセンテージを表示するテキストフィールド*/
var textfield:TextField = new TextField();
textfield.border = true;
addChild(textfield);
/*ローダーインスタンスを作成*/
var loader:Loader = new Loader();
/*ロードされた定数*/
var loadNum:int = 0;
var loadedNum:int = 0;
/*イベントのリスナー登録*/
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressEvent);
loader.contentLoaderInfo.addEventListener(Event.OPEN, loadStart);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComp);
/*URLRequestでurlを指定してロード*/
loader.load(new URLRequest("opening.swf"));
/*ローダーをadd*/
addChild(loader);
/*ロードがスタートする時に呼び出される関数*/
function loadStart(e:Event):void {
addEventListener(Event.ENTER_FRAME, checkLoader);
}
/*エンターフレーム*/
function checkLoader(e:Event):void {
/*読み込まれた%まで数値を追加*/
if(loadNum < loadedNum) {
loadNum ++;
}
/*textfieldに数値を代入*/
textfield.text = loadNum.toString() + "%";
/*もしloadNumが100の場合はエンターフレームを削除*/
if(loadNum >= 100){
removeEventListener(Event.ENTER_FRAME, checkLoader);
textfield.text = "100%";
}
}
/*ロードされるたびに呼び出される関数*/
function progressEvent(e:ProgressEvent):void {
loadedNum = e.bytesLoaded / e.bytesTotal * 100;
trace(loadedNum);
}
/*ロードが読み込まれたらリスナーを削除*/
function loadComp(e:Event):void {
loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressEvent);
loader.contentLoaderInfo.removeEventListener(Event.OPEN, loadStart);
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, loadComp);
}
この回答への補足
ご回答ありがとうございます。
お手数おかけして申し訳ないのですが、
ステージ上に何を設置すればいいのでしょうか?
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- アプリ Edgeを操作するアプリについて 4 2023/05/11 22:48
- JavaScript HTML&CSS Javascriptによる動的テーブル 1 2023/03/27 19:51
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 1 2022/06/18 21:20
- Excel(エクセル) [Excel2016] 相関表等の自動作成 2 2022/08/01 20:34
- ドライブ・ストレージ SSDを追加したら昔のHDDがおかしくなった 4 2023/03/23 13:25
- その他(データベース) Accessフォームにて指定のフィールドの平均値を小数点第一位で表示できない 2 2022/08/30 17:19
- Web・クリエイティブ 【 3DCGソフト⠀MAYAについての質問 】 MAYAでビューからイメージプレーンを読み込むと、ビ 1 2023/07/09 02:50
- ホームページ作成・プログラミング ホームページ作成について。「ワードプレスではありません」。 3 2023/08/13 14:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
for文で配置した物の個別取得【...
-
マウスクリックで値を送る(AS3...
-
AS2.0からAS3.0にうまく変換で...
-
どのボタンがクリックされたの...
-
ActionScriptで release と rel...
-
FLASHCS3のActionScript3.0で外...
-
引数が変わってしまいます。
-
VB6でユーザー定義型がNothing...
-
LRESULTとHRESULT
-
VB.NET の配列の要素数
-
[Objective-c]多次元配列のアク...
-
c++ cmathとmath.h
-
エラー(型が一致しません。)...
-
ユーザー定義関数が呼び出せない
-
#define 文
-
TextChangeイベントが発生しない
-
時間差を取得結果を求めるには
-
char[]とchar*
-
AS3でのグラフィック効果
-
少しづつ%が増えていくプリロー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数インスタンスに共通するイ...
-
actionscript3.0で、「aaa」と...
-
ActionScriptで release と rel...
-
AS3でプリローダー
-
繰り返し
-
エラー(型が一致しません。)...
-
VB6でユーザー定義型がNothing...
-
c++ cmathとmath.h
-
TextChangeイベントが発生しない
-
LRESULTとHRESULT
-
VB.NET の配列の要素数
-
ifdefとenum
-
変な質問ですみません、n番目の...
-
VBでボタンを押すと画像をラン...
-
配列の要素番号を取得するには?
-
#define 文
-
IDの自動採番について
-
PHP + MySQL で登録時に重複チ...
-
DataGridでCTRLキーを押さずに...
-
【ランダム関数】0と1を返すだ...
おすすめ情報