Home > ActionScript3.0 | Progression > getSceneByIdを使ってデータを受け渡す

getSceneByIdを使ってデータを受け渡す


ProgressionにはgetSceneByIdというクラスが用意されています。

これを使ってあげると、シーン間でデータの受け渡しが簡単に出来るようになります。

例えば、IndexSceneとAboutSceneがあって、IndexSceneで定義されている変数に、AboutSceneでアクセスしたい時に(このクラスは)重宝します。

getSceneByIdを使うには、以下のような手順を踏みます。

  1. シーン(SceneObject)にユニークなIDを付けておく
  2. 値(変数)を取得したいシーンで、getSceneById(”ユニークなID”)の様に使う

こんな感じになります。

publicな変数の場合

★IndexScene

public var _str:String = "ほげほげ";
(略)
//コンストラクタ
public function IndexScene() {
    //ユニークなIDをつけておく
    id = "uniq";
}

★AboutScene

var a:IndexScene = IndexScene(getSceneById("uniq"));
trace(a._str);

このように設定してあげると…

ほげほげ

と出力パネルに表示されます。

privateな変数の場合

変数をpublicではなくprivateに設定してある場合は、getter、setterを使ってあげます。

★IndexScene

private var _str:String = "ほげほげ";
(略)
//コンストラクタ
public function IndexScene() {
    //ユニークなIDをつけておく
    id = "uniq";
}

//getterを定義
public function get str():String{
    return _str; 
};

//setterを定義		
public function set str(value:String):void{
    _str = value;
}

★AboutScene

var a:IndexScene = IndexScene(getSceneById("uniq"));
trace(a.str);
a.str = "ユニークな一意の名前";
trace(a.str);

これを実行してあげると…

ほげほげ
ユニークな一意の名前

こんな感じでSingletonクラスを使わないでも、シーン間で値(データ)の受け渡しが出来ちゃいます!

便利ですねぇ…

Comments:0

Comment Form
Remember personal info

Trackbacks:1

Trackback URL for this entry
http://flabaka.com/blog/wp-trackback.php?p=571
Listed below are links to weblogs that reference
getSceneByIdを使ってデータを受け渡す from flabaka
pingback from 09年03月27日 今日の Web ページメモ « Web、プログラミングの技術など - gentenzero blog 09-03-28 (土) 0:01

[…] flabaka – getSceneByIdを使ってデータを受け渡す Singleton クラスを使用しない方法。 (tags: actionscript progression) […]

Home > ActionScript3.0 | Progression > getSceneByIdを使ってデータを受け渡す

Search
Feeds
Meta

flashDevelopスポンサー

Return to page top