- 2009-03-21 (土) 20:10
- ActionScript3.0 | Progression
昨日のエントリで、ProgressionではgetSceneByIdを使うと異なるシーン間で値の受け渡しが出来ると書きましたが、getSceneBySceneIdクラスを使っても同じことが出来ます。
getSceneByIdはユニークな一意のID名を付けて、それにアクセスするという手法を取りましたが、getSceneBySceneIdはシーンについているsceneId名を使ってアクセスします。
前回と同じくIndexSceneとAboutSceneを使ってみたいと思います。
変数がpublicな場合
★IndexScene
public var _str:String = "ほげほげ";
//コンストラクタ
public function IndexScene() {
}
★AboutScene
var a:IndexScene = IndexScene(getSceneBySceneId(new SceneId( "/index" ))); trace(a._str);
これを実行すると、
ほげほげ
と出力パネルに表示されます。
getSceneBySceneIdの引数には、sceneId名を渡してあげる必要があります。
変数がprivateな場合
前回と一緒で、getter、setterを使ってあげます。
★IndexScene
private var _str:String = "ほげほげ";
//コンストラクタ
public function IndexScene() {
}
//getterを定義
public function get str():String{
return _str;
};
//setterを定義
public function set str(value:String):void{
_str = value;
}
★AboutScene
var a:IndexScene = IndexScene(getSceneBySceneId(new SceneId( "/index" ))); trace(a.str); a.str = "ユニークな一意の名前"; trace(a.str);
これを実行すると、
ほげほげ
ユニークな一意の名前
このように表示されます。
ユニークなID名をつけるのが面倒な場合は、getSceneBySceneIdを使ってアクセスしてあげればOK。
これまた便利ですね。
- Newer: getScenesByGroupで複数シーンの値を取得する
- Older: getSceneByIdを使ってデータを受け渡す
Comments:0
Trackbacks:1
- Trackback URL for this entry
- http://flabaka.com/blog/wp-trackback.php?p=577
- Listed below are links to weblogs that reference
- getSceneBySceneIdでも同じことが… from flabaka
- pingback from kanariia.com blog - [progression勉強]実制作でつまづいたとこをQ&A形式でまとめてみた 09-04-28 (火) 15:26
-
[...] 私は名前つけるのめんどくさかったのでgetSceneBySceneId使いました! http://flabaka.com/blog/?p=577 [...]