ゲームにおけるデータ構造・クラス設計・パターン
■ このスレッドは過去ログ倉庫に格納されています
0691名前は開発中のものです。
2007/12/31(月) 13:37:37ID:abjuzRp8関数の作成単位を処理毎 (exec(), draw()) から状態毎 (_stateAlive(),
_stateDead()) にして、各関数の中に exec, draw なんかの処理を
書くよう逆転させるとメンテナンスが楽になるよ。
実装はこんな感じ。
ttp://gameobj.issei.org/trac/wiki/HSM
それでも複雑になってきたら、更に状態ごとにスクリプトを貼り付ける。
状態遷移の入場動作でスクリプトを読み込み VM を設定、exec 相当の
処理ではスクリプトの VM を実行するように書く。
どこまで C++ で書いて、どこからスクリプトにするかは、一律の答えが
ないので難しい。作業を一人でやるか分担するかにもよるし、仕様変更を
どこにどれだけ見込むかにもよる。ただリソース(メモリとかテクスチャとか)の
確保・解放が絡んだら、経験上、そこは C++ で処理した方がトラブル少ない。
■ このスレッドは過去ログ倉庫に格納されています