日本語:プリローダー

Gaiaプリローダー
Gaiaプリローダーは複数のローディングを可能にし、デフォルドではsrcフォルダー内にpreload.flaを提供します. Gaiaはデフォルトではpreload.swfを読み込みます. Gaiaプリローダーは2つの方式で、複数ファイルローディング時の読み込みを実施します.

読み込み具合(割合)の分割(スプリット・パーセンテージ) 方式
Gaiaは複数ファイルのローディングを「1」として扱います. 例えば、4ファイルを読み込む際には、1ファイルの読み込み具合は0.25となります. 0.25×4ファイルで最終的な読み込み具合を1として表示します.

正確なバイト数の扱い(バイト・アキュレート)方式
各ページのプロパティや、site.xml内のアセットのバイト数を正確に定義すれば、Gaiaはローディング時の合計バイト数の読み込みや、読み込み状況を正確に計算しまs. 例えば、900KBと100KBの2ファイルを読み込む際、読み込みの割合は900KBのファイルには90%、100KBのファイルには10%と設定できます. 「スプリット・パーセンテージ」方式を利用する場合には、読み込み時のバーの表示は、900KBと100KBの各ファイルは50%ずつとなり、結果、50%までの読み込みは遅く、100%までの読み込みは非常に早くなります.

The Gaia Panel has a button that sets the bytes property for you.



プリローダークラス
preload.flaドキュメントクラスは、プリローダーというスキャフォールド(骨格)クラスにあたります. プリローダーは AbstractPreloader　を拡張し、 IPreloaderを実装します. プリローダーもページ遷移と同じように4つの遷移方法があります. 追加で onProgressという方法も利用可能です.

onProgress(event:AssetEvent)



AssetEvent
AssetEventはアセットのローディングと、プロセスの終了をトラック(追跡)するためのイベントです. 以下のプロパティを利用します.

perc
perc:Number

全読み込みのパーセンテージ表示を扱うのが perc で、浮動小数0と1を利用します.

asset
asset:AbstractAsset

assetは現在読み込み中のアセット(ページもアセットの一つとして扱われます)を参照します. デフォルトのテンプレートでは、読み込みアセットのローディング状況、個々の進捗を表します.

bytes
bytes:Boolean

全ファイルのバイト数合計はXMLにセットされます. このフラグは読み込み、合計プロパティ値をバイト数で表示します.

loaded
loaded:Number

byteプロパティの値が正しい場合、バイト数の読み込み具合を表すのがloadedプロパティです. もしも正しくない場合は現在のパージかアセットの数の読み込みを表します.

total
total:Number

byteプロパティの値が正しい場合、全ファイルの読み込みの合計値を表すのがtotalプロパティです. もしも正しくない場合は、ページ、アセットの読み込み合計値を表します.



onProgress
onProgressメソッドを利用するには、特に準備するものはありません. もしもローディング時にアニメーションを表示したい場合は、設定も可能です. preloader.swfを利用して、オリジナルの動きをつけたい場合いは、Gaia APIメソッドgetPreloaderを介して preloaderの MovieClipAssetをターゲットにできます. 位置の変更、アルファの設定なども行えます.



プリローダー深度
サイトのノードに"preloaderDepth"属性を設定することにより、プリローダーの深度をsite.xmlに設定可能です. "middle"、"bottom"の設定が可能です. ターゲットとするページコンテナーに関連します. "middle"と設定すればトップコンテナーの直下に設定され、"bottom"設定すれば、下部にコンテナーに設定されます. Gaiaはデフォルトでは、トップコンテナーにプリローダーを配置します.



ランタイム時のプリローダーオーバーライド
ランタイム時にプリローダーをオーバーラードさせたい場合は、APIsetPreloaderを利用します.

setPreloader(asset:MovieClipAsset) ランタイム上で利用されているプリローダーを MovieClipAsset 変更できます. MovieClipAsset が既にロードされているかどうかを確認してください、("プリローダー"階層に入れる事が好ましいです, Site XML ドキュメントを参照ください) そして IPreloader インターフェースに組み込んでください. 当機能については API ドキュメントを参照ください. もしもプリローダーに設定したMovieClipアセットがロードされなかったり、何故か削除されてしまったとしても、Gaiaは自動的にデフォルトのプリローダーに修復してくれます.



Asset Loader(アセットローダー)
On-demandアセットで利用されているAssetLoaderクラスは、はじめにデフォルトのプリローダー起動します. On-demandアセットの進捗状態をカスタマイズしたい場合は、既にロードされているMovieClipAssetをAPIメソッドに渡してくださいsetAssetPreloader(asset). カスタムローダーは他のGaiaプリローダーと同じようにセットアップしてください. IPreloaderが組み込まれているMovieClipAsset がロードされている必要があります.

一度に一つのファイルをロードするBranchローダーと違うところは、AssetLoaderは複数のアセットを一気にロードし、トラック(追跡)できます. 重要な分岐点にて AssetEventを処理します.

複数あるアセットの中で、より多くの割合でロードされたアセットが採用されます. そしてロードされた割合と、ロードされたファイルの名前が重要です.

同一ドメイン内の同時HTTPリクエストの最大数は2です、なので、一度にロードできるアセットも2となります. よって3以上のアセットをロードする際には、最初の2アセットがロード完了するまで待たなくてはいけません.



PreloaderScaffoldクラス
プリローダーテンプレートflaファイルには、PreloaderScaffoldクラスにリンクされたMovieClipが含まれます. 当MovieClipとPreloaderScaffoldクラスはサンプルとして提供しているので、好きなようにカスタマイズしたり、一旦削除して自身で作成したものを利用することも可能です.

PreloaderScaffoldクラスは独自のtransitionInとtransitionOutメソッドがあります. 当メソッドはTweenLiteを利用してフェードイン、フェードアウトします. またMovieClipをステージの中央に配置させます.

枠組みを作成中のPreloaderScaffoldクラスを確認ください. このonProgressイベントハンドラーを確認すると、どのようにAssetEventから受け取ったデータを利用するのかわかります.

注：preload.flaファイル内のMovieClipは独自のブレンドモードがあり、背景色を変更できます. 独自のグラフィックを利用する際に便利です.



Override Preloader(オーバーライドプリローダー）
もしも最初に起動する際に軽量プリローダーを利用し、残りのサイトで堅牢なプリローダーを利用したい場合、よく使われる方法としてはindexページ内にアセットノードを入れ、indexページにtransitionInが呼ばれた際に、プリローダーが MovieClipAssetに設定されます.

デフォルトのプリローダーとAssetプリローダーにオーバーライドさせる情報のより詳細についてはAPIドキュメントを確認ください.



関連情報
デフォルトプリローダーに別ファイルネームを利用する方法

アセット利用時のプリローダー表示方法