トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     ダウンロードのシミュレートでローディング画面が表示されない
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
maki_an
Åê¹ÆNo.46897
投稿日時: 2011-1-24 17:28
半人前
居住地: 東京
投稿: 47
使用環境:
FlashCS5

WIN7

DELL PentiumD 1.5Ghz
ダウンロードのシミュレートでローディング画面が表示されない
「冒頭」「ローディング」と検索したのですが該当するものがなかったため質問させてください。

1フレーム目に以下のスクリプト。


var load_percent:int;
var load_percentText:String;
//自動的に、ロード率(最大値100)が送り込まれてきます。
//load_percentは数字
//load_percentTextは文字で送られてきます。
//100になると自動的にloaderTotalの"complete"に進みます。

addEventListener( Event.ENTER_FRAME, OPloader);
function OPloader( e:Event )
{
	if (load_percent == 100)
	{
		removeEventListener( Event.ENTER_FRAME, OPloader);
	}
	//▼動作内容ココカラ▼
	loaderTotal.txt1.text = this.load_percentText;
	trace(load_percent);

	//▲動作内容ココマデ▲
}



1フレーム目にはスクリプト以外にムービークリップを配置。
リンケージを「preLoader」とし、メインのswfと同じ階層に
置いた外部asのpreLoader.asからスクリプトを読んでいます。

preLoader.as

package 
{
	import flash.display.MovieClip;
	import flash.events.*;
	import flash.display.LoaderInfo;
	public class PreLoader extends MovieClip
	{
		// プライベートインスタンス変数
		private var totalBytes:uint;
		public function PreLoader()
		{
			totalBytes = this.root.loaderInfo.bytesTotal;
			addEventListener(Event.ENTER_FRAME, loadEnterFrame);
		}
		function loadEnterFrame(eventObj:Event)
		{
			Object(root).load_percent = Math.floor(this.root.loaderInfo.bytesLoaded / totalBytes * 100);
			Object(root).load_percentText = Object(root).load_percent.toString();
			if (this.root.loaderInfo.bytesLoaded == totalBytes)
			{
				removeEventListener(Event.ENTER_FRAME, loadEnterFrame);
				//this.gotoAndPlay(currentFrame+1);
				Object(this).gotoAndPlay("complete");
				trace("ロード完了");
			}
		}
	}
}


このファイルをctrl+enterでパブリッシュすると
ちゃんと冒頭の画面に飛びます。

しかし、パブリッシュ画面を開いたまま
「ダウンロードのシミュレート」を行うと、
真っ白の画面に「・・・・・」がアニメーションで表示され、
しばらく経ってload_percent=100の状態にいきなりなって
オープニングに飛びます。

ローディングバーが出ないで裏でローディング処理が進んでしまっているような感じです。

もちろんサイト本編の再生には問題はないのですが、
低速環境時のローディング画面も見せたいので、きちんとローディング画面が表示したいのですが、うまくいきません。




参考になるか分かりませんが、このflaファイルは80フレームの長さで、パスの結構多い画像がスライドするアニメーションがあります。(拡大・縮小はしません)
そのアニメーションを全部削除して
全長4フレームの、画面に停止したムービークリップがあるだけの画面にすると、ローディング画面が表示され、数字が動きます。
ひろゆき
Åê¹ÆNo.46898
投稿日時: 2011-1-24 18:19
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: ダウンロードのシミュレートでローディング画面が表示されない
1フレーム目には、preLoaderしか配置していないのでしょうか?
また、1フレーム目に書き出しリンケージ設定されているものなどもないのでしょうか?


----------------
質問する際は、回答者に具体的な情報を与えてください。

maki_an
Åê¹ÆNo.46899
投稿日時: 2011-1-24 19:39
半人前
居住地: 東京
投稿: 47
使用環境:
FlashCS5

WIN7

DELL PentiumD 1.5Ghz
Re: ダウンロードのシミュレートでローディング画面が表示されない
返信ありがとうございます。

1フレーム目には、
preLoaderというリンケージをもつloaderTotalというインスタンス名のムービークリップが1つ。

1フレームでストップさせるためにstop();の記述。

背景を黒にしたいので、ステージの大きさと同じ、黒の描画オブジェクト

この3つしかありません。

loaderTotalのリンケージ名で書き出しているものは一つだけです。
ひろゆき
Åê¹ÆNo.46900
投稿日時: 2011-1-24 20:28
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: ダウンロードのシミュレートでローディング画面が表示されない
[表示]-[プロファイラ]で、
1行目に大きな負荷がかかっていないか確認してください。


----------------
質問する際は、回答者に具体的な情報を与えてください。

maki_an
Åê¹ÆNo.46904
投稿日時: 2011-1-25 0:35
半人前
居住地: 東京
投稿: 47
使用環境:
FlashCS5

WIN7

DELL PentiumD 1.5Ghz
Re: ダウンロードのシミュレートでローディング画面が表示されない
返信ありがとうございます!
お返事遅れ申し訳ありません。

恥ずかしい話、今までプロファイラを使ったことがなく、
ログを丸ごと乗せます。
「状態」の項目でフレーム1が10KB
フレーム2が517KB

ただ、ダウンロードのシミュレートを行うと、
「ロード済み」が100%になるまで
フレーム2には進みません。


グレー表示 900×580ピクセル
フレームレート 24.0fr/sec
サイズ:528KB(540975 B)
トータル:2fr(0.1s)
プリロード:387fr(16.1s)

設定
バンド幅33400 B/s(1391 B/fr)

状態
フレーム:1
10KB(10099 B)

↓ロード完了後本編に進むと以下の表示になります。

フレーム:2
517KB(529978 B)
ひろゆき
Åê¹ÆNo.46905
投稿日時: 2011-1-25 2:35
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: ダウンロードのシミュレートでローディング画面が表示されない
そもそも500KB程度ではテストにならないと思いますが、
ダウンロード設定を最も低いもので試してみては?


----------------
質問する際は、回答者に具体的な情報を与えてください。

maki_an
Åê¹ÆNo.46909
投稿日時: 2011-1-25 11:42
半人前
居住地: 東京
投稿: 47
使用環境:
FlashCS5

WIN7

DELL PentiumD 1.5Ghz
Re: ダウンロードのシミュレートでローディング画面が表示されない
返信ありがとうございます。
一番遅い14.4(1.2KB/s)でプロファイラーを表示させると
以下のようになりました。


グレー表示 900×580ピクセル
フレームレート 24.0fr/sec
サイズ:528KB(540975 B)
トータル:2fr(0.1s)
プリロード:10818fr(16.1s)

設定
バンド幅1200 B/s(50 B/fr)

状態
フレーム:1
10KB(10099 B)

↓ロード完了後本編に進むと以下の表示になります。

フレーム:2
517KB(529978 B)

ひろゆき
Åê¹ÆNo.46910
投稿日時: 2011-1-25 11:58
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: ダウンロードのシミュレートでローディング画面が表示されない
「以下のようになりました」とだけ書かれても、状況が見えないのですが。

問題は解消されたのでしょうか?

500KBしかないファイルにローディングをつけても、
あっと言う間に読み込まれてしまって、確認できないという可能性もありますし。

もう少し、容量を重くして実際にサーバに上げてテストするとか。

それでも、問題が解消されなければ、スクリプト側に問題があるのではないでしょうか。
怪しそうなのは。
			if (this.root.loaderInfo.bytesLoaded == totalBytes)

これだけだと、bytesLoaded,totalBytes ともに0の場合は、読み込み完了したと判断されてしまいますね。


----------------
質問する際は、回答者に具体的な情報を与えてください。

maki_an
Åê¹ÆNo.46915
投稿日時: 2011-1-25 13:58
半人前
居住地: 東京
投稿: 47
使用環境:
FlashCS5

WIN7

DELL PentiumD 1.5Ghz
Re: ダウンロードのシミュレートでローディング画面が表示されない
本当にありがとうございます。

今、問題が解決しました。
結論から申し上げると、
===========================
TLFテキスト-編集可能モードのテキスト欄にテキストを入力
してパブリッシュするとオープニングのローディング画面の
挙動がおかしくなる
===========================
でした。

1フレームの負荷ではなく、別の箇所が原因でした。
1フレームが終了した後2フレーム目に進んでサイト本編になるのですが、
メニューボタンを押すことで切り替わる表示内容を全て内包した
contentsというインスタンス名のムービークリップがあります。

この中のお問い合わせフォームの一部テキストに
「TLFテキスト-編集可能」モードのテキストが含まれていたのですが
これが原因でした。

その部分は「全ての項目にご記入ください」などの、ただのテキスト項目だったのでそもそもテキスト入力である必要が無く「クラシックテキスト-静止テキスト」に変更してパブリッシュしたところ、きちんと数字が表示されるようになりました。

念のためもう一度「TLFテキスト-編集可能」に戻したら
ローディング画面は出なくなりました。

解決です。





maki_an
Åê¹ÆNo.46916
投稿日時: 2011-1-25 14:00
半人前
居住地: 東京
投稿: 47
使用環境:
FlashCS5

WIN7

DELL PentiumD 1.5Ghz
Re: ダウンロードのシミュレートでローディング画面が表示されない
>ひろゆきさま
ありがとうございました。

1フレーム目に何かあると思っていたので、
そこを突き詰めて調べることができたおかげで、
他の要素に目を向けることができました。

プロファイラのことを教えていただき知識も広がりました。

本当に、ありがとうございました。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops