でプリローダーからイベントを聴く:私は私のFlexアプリケーションでプリローダー持っフレックス
public class Preloader extends DownloadProgressBar
{
private var _preloader:PreloaderAnimation;
public function Preloader()
{
super();
_preloader = new PreloaderAnimation;
addChild(_preloader);
}
public override function set preloader(preloader:Sprite):void
{
preloader.addEventListener(ProgressEvent.PROGRESS , onSWFDownloadProgress);
preloader.addEventListener(Event.COMPLETE , onSWFDownloadComplete);
preloader.addEventListener(FlexEvent.INIT_PROGRESS , onFlexInitProgress );
preloader.addEventListener(FlexEvent.INIT_COMPLETE , onFlexInitComplete );
}
.........
private function onFlexInitComplete(event:FlexEvent):void
{
dispatchEvent(new Event(Event.COMPLETE));
}
}
Flexの初期化が完了すると、プリローダーがEvent.COMPLETEをディスパッチします。しかし私は私のフレックスアプリでイベントを聴きたいと思っていて、ディスパッチするときに何かをやりたい。それがディスパッチするとき、プリローダーはそれ自体を取り除きます。私のフレックスアプリからどのように聞くことができるかについてのアイデアはありますか?
よろしくAdlertz
アプリケーションの初期化関数でApplication.application.preloader.addEventListener(Event.COMPLETE、onPreloaderComplete)を試しましたが、エラー#1009が発生しました。nullオブジェクト参照のプロパティまたはメソッドにアクセスできません。 –
プリローダーの設定はどうですか? mx:applicationタグのプロパティとして配置していますか? –
はい私はそうです。リスナーを追加した後で認識されますか? –