とプロパティを使用する必要がroot.loaderInfo
あります。bytesTotal
bytesLoaded
それらが互いに等しい場合、SWFを100%ロードし、それに応じて次に何が起こるかを管理できます。
サンプル:
package
{
import flash.display.Sprite;
import flash.events.Event;
/**
* Document class.
*/
public class Document extends Sprite
{
// Constructor.
public function Document()
{
addEventListener(Event.ENTER_FRAME, _loadStatus);
}
// Manage the current status of the preloader.
private function _loadStatus(e:Event):void
{
if(loadPercent >= 1)
{
removeEventListener(Event.ENTER_FRAME, _loadStatus);
beginApplication();
}
}
// Load complete, being the application here.
protected function beginApplication():void
{
trace("Loaded.");
}
// Returns a number representing current application load percentage.
protected function get loadPercent():Number
{
return root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal;
}
}
}
また、最初のフレームですべてのライブラリシンボルをエクスポートすることは悪い考えであることに注意する必要があります。つまり、最初のフレームでエクスポートされないようにする必要があります。
ボーナス:上記のクラスを実際のドキュメントクラスの基本クラスとして使用すると、アプリケーションのエントリポイント(アプリケーションのコーディングを開始する場所)が非常に整然となります。
public class MyDocument extends Document
{
override protected function beginApplication():void
{
// Application has loaded.
// Your initialize code here.
//
//
}
}