« links for 2011-02-25 | Home | links for 2011-02-26 »

Feb 262011

managerの違い

SceneLoaderで外部Progressionを子供Sceneに設定した場合、子Progressionの中でのmanagerの参照先が参照場所によって変化します。

簡単書くと
SceneObject@manager > 子Progressionを参照
DisplayObjectを継承したCast系@manager > 親Progressionを参照

シーンはProgressionセグメントのレベルで管理されますが、Cast系はその辺には関与せず、純粋に最上位のProgressionの管理下に置かれるってな感じなのだと思います。

詳しい中身の管理ロジックについてはよく分からないですけど・・。

これ具体的に何が困るかというと、子Progression内で遷移の際の行き先や、出発点によって何かを制御しようとした際に、
getSceneBySceneId(manager.destinedSceneId)
としたときに、SceneObject上では問題ないのだけど、Cast系だと親Progressionを参照してしまうため、SceneObjectを参照できずエラーが戻ってくるという部分です。

なんか便利機能とかあるのかもしれないけれど、判別式で参照managerを切り分けて処理するようにしますた。

Leave a comment

Search and Archives