[過去ログ]
ゲームプログラミング相談室 (986レス)
上
下
前
次
1-
新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
364
(1)
: 02/02/07 22:46 ID:???
AA×
>>361
[
240
|320|
480
|
600
|
100%
|
JPG
|
べ
|
レス栞
|
レス消
]
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
そもそも ならタスク用の構造体を用意せずに とでもインターフェースを用意してやって を継承したクラスを自機弾敵機 など必要なだけ用意あとはメインループの中で とループをまわせば終わりって気がする 実際には への新規タスクの登録削除のタイミングに関しては気をつける必要が あるけど特に 使う場合にはループの最中に削除すると が不 正な値を指すことになる への挿入削除時に動的なメモリ確保開放処理が発生するのでメモ リ不足が発生しては困る環境では を自作するか の変わりになる コンテナを自前で実装する タスクの新規作成削除時に動的なメモリ確保開放処理が入るのでヒープの 断片化が気になる場合には を自前で用意する とか細かい注意点があるけどそんなものでしょ
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 622 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
ぬこの手
ぬこTOP
0.052s