書き物

技術とか作った物の話とか愚痴文句感想など

ActionScript3 ~問題は別の所に~

今日はあまりASを触ることできませんでしたが、ちょっと思ったことはありました。


AS2で作っていたタスクシステムをAS3に移行してみたのですが、

テスト段階では問題なく動いていましたが、

実際にゲームを動かそうとしてみるとちょくちょく例のランタイムエラーが出ます。

なんだかいつの段階で参照にnullが入り込むのか不明な場合が多いためデバッグで困り果てます。


第一弾のテスト移行したタスクシステムというものは、すべてのタスクが「Sprite」を継承しています。

タスクの階層を「Sprite」で管理しているので親タスクへのアクセスが「parent」だけで済み、

別途「parentTask」の設定とかをしないですむのです。

タスク生成の段階で引数が減るのは好ましいと思っての行動だったのですが、

このタスク生成の際、「addChild()」をし、タスク削除の際、「removeChild()」をしなければなりません。

これがnull参照を作る原因となっているような気がしています。

用はこの方法だと動作が不安定なのです。


で、考え直して第二段の移行作業をしてみます。

考えてみれば描画関連とシステム部分が混ざっているなんて、

あまり綺麗とは言えない気もします。

その辺を考えて、もう一度組みなおしてみます。

ゲーム部分はまた後回しになるかなぁ...。