- 2008年6月10日 23:00
- Adobe AIR | Adobe Flex
stage, systemManager, root, application
表示のルートっぽいプロパティがいっぱいでどれを使えばいいのかを悩むことが多い。
stage
言わずと知れた最上位。
他のアプリケーションからロードされた場合、ロードした側のアプリでもロードされた側のサブアプリでも stage は同一を指す。
stage プロパティは、自分自身が表示リスト上に addChild() されるまでは nullになっている。
前回のApplication(またはWindowedApplication)のcreationComplete()でstageがnullになってるのは、Application自身が表示リスト上にまだAddChild()されていないから。
systemManager
systemManager プロパティは、他からロードされた場合、ロードされた側のサブアプリでは、そのサブアプリ内での SystemManager インスタンスを指す。
ちなみにApplication (AIRではWindowedApplication)は、SystemManager によってインスタンス化される。
root
SWFファイル内での最上位を指す。
FlexアプリケーションのSWFでのrootはSystemManagerになる。
Bitmapオブジェクトのみを持つSWFファイルなら、rootはbitmapオブジェクトを指す。
但し、stage の root は stage 自身を指す。
Moduleの場合、SWFファイルは別になるけどrootは親SWFと同一。
application
Application.application
メインのMXMLインスタンス(ApplicationクラスまたはWindowedApplicationクラス)を指す。
ロードされた場合も、そのサブアプリ内のメインのMXMLインスタンスを指す。
Moduleの場合、SWFファイルは別になるけどrootは親SWFと同一。
実験1
やっぱややこしいってば。
- Newer: stage,systemManager,root,application (2)
- Older: blogにFlexサンプルを貼るテスト