[AS]progression4 managerインスタンスの参照でちょっとはまった

progression4からは、Progressionクラスを参照できるプロパティがmanagerになりました。
(3はprogressionだった)
SceneObjectとかCastSpriteとかが持ってるプロパティなので簡単に参照できます。

んが、ちょっとはまったのでmemo。

SceneObject(を継承したカスタムクラス)の場合、そのSceneObjectがaddSceneされてない状態では、managerはnullとなる。
つまりSceneObjectのコンストラクタに
trace(manager)
としてもnullが返ってくるだけ。
addSceneされたあとなら、Progressionインスタンスを返してくれる。

CastSprite(を継承したカスタムクラス)の場合は、自身の親が普通のspriteとかMovieClipの状態では参照できない。
親はCastSpriteとかCastMovieClipとかprogression独自のDisplayObjectContainerでないとだめ。

[2011.10.19追記]
とうぜんstageに追加した場合もmanagerはnullとなる

//nullの例
var sp:Sprite = new Sprite();
container.addChild(sp) //containerはprogressionの持ってるプロパティ。(progression的なstage)
var csp:CastSprite = new CastSprite();
sp.addChild(csp);
trace(csp.manager);//出力:null
//nullじゃない例
var sp:CastSprite = new CastSprite();
container.addChild(sp) //containerはprogressionの持ってるプロパティ。(progression的なstage)
var csp:CastSprite = new CastSprite();
sp.addChild(csp);
trace(csp.manager);//出力:[Progression id="index"]

というようなことが上手くまとめられてる記事もありました。
ありがたいことです。

参考:Fountain:Flash初心者がProgression 4 publicBeta1.1を始めたメモ

[AS]TextFieldで幅固定、高さ可変とする設定

手順としては、
1.TextField.autoSizeをnone以外
2.TextField.wordWrapをtrue
3.TextField.widthを設定
(設定の順番は変えてもいいみたい)
autoSizeをnone以外にして、wordWrapをtrueにするのがポイントらしい。

参考:trick7:TextField が思いのほか細長くなったら

[AS]progression4 preloaderの表示オブジェクトコンテナー foreground/background

preloader.fla(プリローダー)に表示オブジェクトを追加する際は、foregroundもしくはbackgroundにaddChild()する。
CastPreloader.foreground
CastPreloader.background

foregroundは、メインコンテンツ(index.swf)よりも上の階層。
backgroundは、メインコンテンツ(index.swf)よりも下の階層

つまりコンテンツの背景として表示したいものはbackgroundに、
常に表示させたいものは、foregroundに、addChild()