2008/11/12 | 20:37 pm

ルートシーンの Property を参照する

ときは、「IndexScene(root).PROPERTY_NAME」の様に書けば良いそうです。

なので、こんな感じになるっということですかね。

// example code : assume TEMP as root property
var slist:SerialList = new SerialList()
slist.addCommand(
	new Trace("TEMP : " + IndexScene(root).TEMP)
)
// output - TEMP : [CLASS_NAME id="TEMP" name="instance**" group="null"]

今のとこの謎:
1. 下階層の extends CastSprite したモノから progression が参照できない。
extends SceneObject だと出来る。なんで??

解消しました。コードは ↓

2. _onLoad() と _onInit() の違いをいまいち把握してない。
これは後に大問題になりそうな予感。。。
3. 子シーンから親シーンに戻って来たときはどーなるの?
サンプルだと行きっぱなしですね、これどーにかしないと。
4. そもそも僕のやり方は合ってるのだろうか??
きっと人それぞれ最終的なカタチも仕様も違うから何とも言えないけど、何かもっと有り難いやり方がある気がしてならない今日この頃。

しかし、急な案件のおかげ様でじっくりやる時間が無いデス。
むー、困っーたー


追記 : 08.11.13 – 2:43 am

謎その1の解消コード
注:かなりの力技です。もっと良い方法がありそうなので、あんまり参考にしない方がよいかも…

まずは、IndexScene.as の CastSprite を宣言する時に引数を追加する


var temp:CastSprite = new CastSprite({prog:progression});

そして、CastSprite.as に参照させるスクリプトを記述


private var indexObject:Object;

/*======================================================================*//**
 * コンストラクタ
 */
public function CastSprite( initObject:Object = null ) {
	super( initObject );
	// indexObject に initObject の参照をコピー
	indexObject = initObject;
	trace("args : " + indexObject.prog)
}

// output - args : [Progression id="Index" group="null" sync="true"]

これで、CastSprite 内でも「indexObject.prog」は「progression」と同様に機能します。
また何かいい方法を発見したら、追記します。

COMMENT

POSTED

jam





JUN NAKAJIMA
Tokyo, Japan.
member of Onawatobi.
contact@brooklyn.jp