ゲームプログラミング相談室
■ このスレッドは過去ログ倉庫に格納されています
0468名前は開発中のものです。
02/05/19 16:38ID:5QVs0KEUすいません、STGを作るの初めてなんで疑似タスクで質問させてください。
疑似タスクの仕組みとしては LogicianLoad を参考にさせてもらっています。
----------------
Q: 1フレームの中でタスクの優先順位を何回も変更する場合ってありますか?
優先順位を変更するならば、タスクをリストに登録する際どうやってその位置を見つけますか?
リストの先頭からざーっとなめてるんですか?
----------------
とりあえず、私としては以下のようにしてるんですが、よくないところとかあったら教えてください。
----------------
固定長ワークの配列を作る。要素数 256個とか。
タスクは、ワークへのポインタを持つ。
いくつものタスクがおなじワークへの参照をすることがあるので、ワークには参照カウンタを持たせる。
タスクのリストへの登録は map<優先度, list<タスク *> > な優先度マップを用意して、
優先度マップ[優先度].push_back(&タスク);
としてリストに登録。タスクの優先度変化とか、チェンジタスクとかは同じワークを参照するタスクを
つくって対応。状況に応じて自殺。
----------------
■ このスレッドは過去ログ倉庫に格納されています