例えばextends MovieClipしたclassのコンストラクタでthis._visible = false;と設定しているMCがタイムライン上の[show]とかに配置されていたとして、タイムラインからgotoAndStop[“show”]とかやっていきなり出現させるとコンストラクタとかonLoadとか先に一瞬描画された後で実行されるっぽい。
タイムラインが流れて[show]に到達して表示される分にはコンストラクタ、onLoad共に正常な順番で実行される。(先読み予測しているのか・・?)
ただし今検証しているクラスはかなりコンストラクタで色々初期化しているので、その辺の問題かも知れない。絞り込んだ簡単なクラスで検証する必要があるが、まぁとりあえず保留。
ちなみに親からCALLしてやると制御はできるけど、なんにしてもビルトインのfunction,property以外は認識のタイミングがonLoad以降になるので、その辺は気をつけないといけない。基本プロパティを引渡しして(これがまたsetterとか使ってると飛んでしまうので、直接)onLoadでそれを元に初期化というのが安全なやりかたかな・・。(子供から親をcallしてやってもいいけど、BroadCastとかあんま使いたくないし)
この辺タイムラインでの管理とClassでの管理の整合性が取れていない部分なのかも知れない。
(そもそも開発プロセスが違うというか・・・スタッフが仲が悪いとか?知らんけどw)
カテゴリー