2008/11/11 | 20:57 pm
子シーンでの処理を追加
-
http://www.brooklyn.jp/progression/
-
が今や、只の検証用ページになりつつある。。。
一応、子シーンでの処理を追加しました。
といっても、画像が読み込まれるだけのなーんにもオモロくない感じです。
子シーンとして使っている ChildSceneObject.as がこんな風になりました。
public var bgContainer:CastSprite;
private var imgLoader:CastImageLoader;
private var scene:String;
public function ChildSceneObject( name:String = null, initObject:Object = null ) {
super( name, initObject );
}
protected override function _onLoad():void {
// 実行したいコマンドを登録します。
var xml:XMLList = new XMLList(this.sceneInfo.data);
// 現在いるシーンの名前を取得して登録
scene = String(xml).toLowerCase();
// 今は、背景の画像を読み込んだ後に CastSprite に AddChild しているので、それを参照
bgContainer = new CastSprite();
bgContainer = progression.container.getInstanceById("bgContainer") as CastSprite;
imgLoader = new CastImageLoader();
imgLoader.alpha = 0;
imgLoader.addEventListener(CastEvent.CAST_LOAD_COMPLETE, loadComplete);
// シーンの名前に該当する画像を読み込む
addCommand(
function():void { imgLoader.load(new URLRequest("contents/images/"+scene+".jpg")) }
);
}
public function loadComplete( e:CastEvent ):void {
imgLoader.removeEventListener(CastEvent.CAST_LOAD_COMPLETE, loadComplete);
var slist:SerialList = new SerialList();
slist.addCommand(
new AddChild( bgContainer, imgLoader ),
new DoTweener( imgLoader, {alpha:1, time:3, transition:"easeOutQuart"} )
);
slist.execute();
};
// 移動時に画像を消す
protected override function _onUnload():void {
// 実行したいコマンドを登録します。
addCommand (
new DoTweener( imgLoader, {alpha:0, time:2, transition:"easeOutQuart"} ),
new RemoveChild( bgContainer, imgLoader )
);
}
画像を消すのは、現状は _onUnload() で処理しているけれど、 _onGoto() とどっちの方がいいのやら。
でも、これは子シーンで下階層に何も無い場合は、確実に _onUnload() の対象になるはずなので、
とりあえずは、これでいいかな。
そう言えば、前回の投稿で作ったボタンのままなのだけれど、なぜか遷移中に機能が kill されていない。。。。
おかしい、 progression のサンプルを初めて触ったときは自動で出来てたのに。
autoLock を false にした記憶はないので、どっかで間違ってる可能性大ですね。


[...] GRAM | グラム / 子シーンでの処理を追加 [...]
COMMENT BY
blog.progression.jp» ブログアーカイブ » [お知らせ] 今週の Progression 関連エントリー(2008/11/08 ~ 2008/11/14)
DATE
2008/11/14 18:31 pm