progressionでCastImageLoaderでイメージを読み込むとき
ローディングアニメーションを簡易的に表示したい。
var loader = new CastImageLoader();
loader.addEventListener(CastEvent.CAST_LOAD_COMPLETE, loadCompleteHandler);
loader.addEventListener(CastEvent.CAST_LOAD_START, loadStartHandler);
イメージを読み込む前と完了後にイベントが発生するので
読み込み時にイメージを表示して、完了時に削除すれば読み込みイメージを表示できる。
ここでは、
flex and flash developer | steven sacks AS3 Apple Style Preloaderを読み込みイメージとして利用する。
import net.stevensacks.preloaders.CircleSlicePreloader;
import flash.display.Sprite;
private var container:Sprite = new Sprite();
private var loader = new CastImageLoader();
private var preload:CircleSlicePreloader = new CircleSlicePreloader();
public function Btn_Image( initObject:Object = null ) {
super( initObject );
if (initObject.imageUrl != null) {
var urlReq:URLRequest = new URLRequest(initObject.imageUrl);
loader.addEventListener(CastEvent.CAST_LOAD_COMPLETE, loadCompleteHandler);
loader.addEventListener(CastEvent.CAST_LOAD_START, loadStartHandler);
loader.load(urlReq);
}
}
//イメージ読み込み開始のハンドラ
private function loadStartHandler(e:CastEvent):void {
loader.removeEventListener(CastEvent.CAST_LOAD_START, loadStartHandler);
var sList:SerialList = new SerialList();
sList.addCommand(
new AddChild(this, preload)
);
sList.execute();
}
//イメージ読み込み完了のハンドラ
private function loadCompleteHandler(e:CastEvent):void {
loader.removeEventListener(CastEvent.CAST_LOAD_COMPLETE, loadCompleteHandler);
var sList:SerialList = new SerialList();
sList.addCommand(
new Wait(1000), // アニメーションの表示テスト
new RemoveChild(this, preload),
new Prop(loader, { x:-(loader.width/2), y:-(loader.height/2)} ),
new AddChild(this, loader)
);
sList.execute();
}
参考にさせていただいたサイト
・Is It So Easy? CastImageLoaderを使ってみる
・kanariia.com blog CastImageLoaderのロード中にCastMovieClipを表示してみる
・Flashのフレームワーク「Progression3」を始めてみよう! 第5回 Progression3でWebサイトを作る(後編)

コメント