[過去ログ]
ゲームにおけるデータ構造・クラス設計・パターン2 (627レス)
ゲームにおけるデータ構造・クラス設計・パターン2 http://mevius.5ch.net/test/read.cgi/gamedev/1211544659/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
511: 501 [sage] 2009/03/23(月) 00:38:25 ID:/nVLLFvd >>510 確かに。描画スクリプトかー、どうしよう。 ポリゴンの描画順番の最適化とかやり始めたら必要になりそうな気もするけど 今の自分のプログラムでは大げさすぎるかなぁ。今のところ2D的にしか使ってないし。 あとデバイスってサウンドとか入力装置とかもあるけど、それらもおんなじ感じで取り扱いたいし。 デバイスにアクセスする処理が関数1個の中に「ひとまとまりで」収まってればOKとするなら 下のように書いて済ませられるかな? void dev_state1(void) { lpD3DDEV->BeginScene(); lpD3DDEV->set_parameter(...); lpD3DDEV->draw(draw_landform(), ...); lpD3DDEV->set_parameter(...); lpD3DDEV->draw(draw_menu(), ...); lpD3DDEV->EndScene(); } ひとまとまりってのは1フレーム分のデバイスアクセス処理全部。 描画内容を大きく変えたい時はdev_state2()とかをまた別に作っておいて、 ゲームのステートに応じてどれを実行するか切り替える。 なんか描画スクリプトの方が夢があるな。 外部GUIツールで描画内容を設計して 吐き出した描画スクリプトをゲームで解釈して表示とかおもしろそう。 でも描画システムの根幹過ぎて汎用的に作るのめんどくさそう。。。 うーん、とりあえず簡単に済ませたいからdev_state1()みたいにベタ書きで どこまでいけるかやってみるかな。 http://mevius.5ch.net/test/read.cgi/gamedev/1211544659/511
563: 501 [] 2009/12/30(水) 05:37:23 ID:CHdRD74o >>552 描画スクリプトっぽく進めてる。>>510 の言うとおりの方法。 >各オブジェクトには描画スクリプトみたいのを作らせておいて、draw()がそれを解釈して描画とか? 描画スクリプトみたいなのを作るほうがプログラム構造は単純になった。 >>511に書いたやり方は結局デバイスアクセス処理が分散していて大して煩雑さは改善されなかった。 簡単な2Dゲームだと描画は大部分が画像描画コマンドだけで構成されてた。思ってたより単純。 あとは少ないながらもカメラ位置変更コマンドと文字列描画コマンドも使った。 コマンド構造体を配列に突っ込んでカウンタを+1とかしてコマンド列(描画スクリプトみたいの)を作ってる。 あと画像描画コマンドでは描画すべき画像は番号で指定してる。番号に対応する画像を用意するのは解釈側の責任。 デバイスデータの引き回しはなるべく避けたかったので。 デバイスを関数間で無闇に引き回さなくても済むようになったので気が楽だし、 メモリデータの変更だけで描画内容が変わるのもおもしろい。 やって良かったと思ってる。 http://mevius.5ch.net/test/read.cgi/gamedev/1211544659/563
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.022s