07/12/09 23:12:03 rwPHbHKr
>>23
> 1、ゲームループはシーンごとに別にする
つまりタスクシステムだね
タスクを入れ替えることで違うシーンに対して別のループを提供できる
もしタスクシステムを使わなければシーンの数だけほぼ同じソースを別個に書かなければならない
1箇所ソースを変更するだけでそれらのシーンすべてのループを書き換えることになりメンテナンス性が著しく落ちる
> 例えばRPGで移動シーンと戦闘シーンがある場合、
> 移動時は移動ループに入り、戦闘時は戦闘ループに入る。
戦闘タスクと移動タスクを入れ替えるってことだね
> お互いにまったく別の処理をするので、
> お互いが見えない方がソースを簡潔に書ける。
そう、タスクシステムではタスク単位で完結するから独立性が高い記述が可能になる
> 2、ゲームループにはウィンドウメッセージループ(GetMessage)を使う
CPU使用率を稼げるし、仮に必要になっても多少のループならタイマーで十分だよね
> タイトル画面など自動的な処理する必要がない時は
> ループを回さないでCPU率を軽くする。
タスクシステムを使えばシーンごとにまったく違う処理が書けるから
シーンごとに違うメインループを書くことも可能なんだよね
仮にオープニングでアニメーションやデモを追加したい場合
タスクを入れ替えることで対応可能