[AS]progression 出発シーン、到着シーンのsceneIdを取得する方法”departedSceneId”,”destinedSceneId”
便利すぎて鼻血がでます。
prgressionで直接URLを入力されたときや、サイトマップなどから通常の遷移とは違うルートからシーンにたどり着いた場合、内部の処理(主に、通過するシーンの_onLoadイベント)を分岐させたいことがありました。
その際に便利なのが、出発シーン、到着シーンを取得できるプロパテイ。
出発シーン:departedSceneId
到着シーン:destinedSceneId
使い方は、SceneObjectを継承したクラスならこんな感じで取得できます。
trace("出発地:"+this.progression.departedSceneId); trace("ゴール地:" + this.progression.destinedSceneId);
progressionインスタンスのプロパティってことですかね。
CastSpriteとかで取得したい場合は、まずprogressionインスタンスを取得しないとなので、こんな感じで取れました。(もっと簡単に取れそうだけど)
//まずは何かシーンインスタンスを取得しておいて、 var indexScene:IndexScene = IndexScene(getSceneById("indexScene")); //そのインスタンス経由でprogressionを取得する trace(indexScene.progression.departedSceneId) trace(indexScene.progression.destinedSceneId)
ちなみに(一番最初に)URLからアクセスした場合は、departedSceneIdはnullになるみたい。
リロードしたときも、departedSceneIdはnullになってました。
これでいろんな状況からのアクセスの条件分岐ができそう。
※追記、
もっと簡単にprogressionインスタンス取得できました。
//progressionインスタンスを取得 var prog:Progression = getProgressionById("index"); //そのインスタンス経由でprogressionを取得する trace(prog.departedSceneId) trace(prog.destinedSceneId)
Tweet