[過去ログ]
ゲームプログラミング相談室 (986レス)
ゲームプログラミング相談室 http://game.5ch.net/test/read.cgi/gamedev/1005040025/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
364: 名前は開発中のものです。 [sage] 02/02/07 22:46 ID:??? >>361 そもそも C++ なら、タスク用の構造体を用意せずに struct Task { virtual void Update(unsgned tick) = 0; }; とでもインターフェースを用意してやって、Task を継承したクラスを、自機/弾/敵機 など必要なだけ用意。あとはメインループの中で using namespace boost; using namespace std; list<shared_ptr<Task> > taskList; for_each(taskList.begin(), taskList.end(), bind(&Task::Update, _1, tick); とループをまわせば終わりって気がする。 実際には taskList への新規タスクの登録/削除のタイミングに関しては気をつける必要が あるけど(特に for_each 使う場合には、ループの最中に削除すると iterator が不 正な値を指すことになる) taskList への挿入削除時に動的なメモリ確保/開放処理が発生するので、メモ リ不足が発生しては困る環境では allocator を自作するか、list の変わりになる コンテナを自前で実装する。 タスクの新規作成/削除時に動的なメモリ確保/開放処理が入るので、ヒープの 断片化が気になる場合には Task::new, Task::delete を自前で用意する。 とか細かい注意点があるけど、そんなものでしょ。 http://game.5ch.net/test/read.cgi/gamedev/1005040025/364
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 622 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.015s