Flash: 2010年8月アーカイブ

Progressionメモ

○container.parentにaddChildしちゃダメ

Progressionを使ってFlashを作ってて、そろそろサーバに上げて動作確認しようかなって思ったら、正しく表示しない。
読み込み途中で再生始めちゃったような状態で一部のパーツだけが表示された。ローカルだと普通に再生できるから、全く気が付かなかった。

作業中にflaファイルが保存できない現象が発生したので、flaファイル壊れたかと思って、やり直しかよぉと青くなったけど、いろいろ調べたら、結局、container.parentにaddChildしてたのが原因でその処理の段階でエラー起こして処理が止まっちゃうみたい、なぜかサーバで見るときだけ!

ナビゲーションなので常に最前面に表示させたくて安易にやっちゃったけど、普通のSpriteと扱いが違うのかな。落ち着いたらソース読んでみる。

常に最前面に表示させる方法で手っ取り早いのはPreloaderクラス内で「foreground」にaddChildする方法なのかな。
ただ、Preloaderクラスに突っ込みにくい場合はシーンが切り替わるタイミングでaddChildし直すしかないのかな・・・


○クラスを割り当てたインスタンス内の命名規則に注意

「warning:3598 定義名は読み込まれたパッケージ名と同じです。その名前への無修飾の参照は、定義ではなくパッケージが対象となります。」ってメッセージが出て、ゴニョゴニョ直したんだけど、なかなか直し方がわからなかったのでメモ。
説明しづらいけど、例えば「btn.MyBtn」というクラスを割り当てたインスタンス内にはFlash IDE上で「btn」という名前のインスタンスを作ってはいけないということらしい。

パッケージ名とインスタンス名が同じ扱いになってるって事なのかな。最初、全くわからなくてクラス名を変えたりしてた・・・
エラーメッセージの本買おうかな。