2010年6月13日日曜日

大規模な修正が必要

長い間、保留していて忘れていた部分で、問題があることが判明。
無効なポインタの参照的な問題。

戦艦の移動の基本のスクリプトなのだが、手入力では書く気にならないほどのオブジェクト数があるので、当初からスクリプトジェネレータみたいなものを作って、それにオブジェクト名と座標などをつっこんでおいて、テキストに出力させて、それをスクリプトに貼り付けて利用しています。
ある程度決まった構文にしか対応できないので、手入力による修正は必要となりますが。


最初から手でやるよりは効率はよく、オブジェクトが1つ増えたら、ジェネレータ側のオブジェクトも1つ増やすというように1つずつやってきました。

で、大きな変更があると、プログラムを修正して、スクリプトを出力して、貼り付けて、修正してという作業をやり直してきました。

初期の頃のスクリプトはOnActivateに、まさにジェネレータの出力結果を貼り付けただけで、動かしていたので楽だったのですが、何フレームかに分けて処理できるようにスクリプトを書かないと、移動や、disable/enableがおかしくなるということなので、現在は何フレームかにわけて処理できるように、GameMode で実行されており、それ以外にもいろいろと修正がなされています。

なのでスクリプトジェネレータが、そのままでは役に立たないという事に。

ということで、前置きが長かったけど。
スクリプトジェネレータの修正が必要という、かなり面倒な問題に直面してしまった。
現状、面倒なのでコアな部分も本体に込みで、毎回コンパイルしている。
今回は、詳細にケースバイケースで出力しないとなら無いので。
コード生成のコアな部分をDLL化してやらねばなるまい・・・。

0 件のコメント:

コメントを投稿