トップページgamedev
585コメント234KB

ゲームにおけるデータ構造・クラス設計・パターン2

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2008/05/23(金) 21:10:59ID:8M1gqhPX
具体的なゲーム名を挙げて、
どのようにクラス設計をすればよいか、
継承・委譲関係はどのようにすればよいか、
使えそうなパターンは何かなど語るのもよし。
自作ゲームの内容とクラス図を書いて
改善案を聞くもよし。
設計に関して困ったことを質問するもよし。

関数の具体的な実装内容やゲーム内容に関しては他スレに譲る。
大いに語れ。

前スレ
http://pc11.2ch.net/test/read.cgi/gamedev/1155209226/

テンプレ追加事項あったらよろすく
0444名前は開発中のものです。2009/02/06(金) 21:51:27ID:+KF0MHRv
たとえば、石クラスと、マップクラスと、それらを管理するシーンクラスがあったとして、
・石に重力を働かせる処理
・石と石の衝突処理
・石とマップの衝突処理
は、それぞれどのクラスが担当すべきだろうか。
0445名前は開発中のものです。2009/02/06(金) 21:56:52ID:jTgjQpbm
>>444
物の理を司る GOD class
0446名前は開発中のものです。2009/02/06(金) 21:57:18ID:sBGSiXKq
分からないから指向をそのままレスとして出力。

・ゲームは現実を模倣するものじゃないから、重力が全てに等しく働くとは限らない。
・が、固有の係数との積で出せばいいからやはり個々ではない所に基本重力値を。
・衝突判定方法をあらかじめ限定しておけば、二つの物体を引数にとって判定を返す関数を作ることが可能。
・同上により、マップと石との判定をあらかじめ限定化すれば、独立した関数として定義可能。

ごめん、適当に書いただけ。
0447名前は開発中のものです。2009/02/06(金) 21:58:24ID:y5Y5dk+m
唐突に石とかマップとかいわれても一般性がなさすぎてバックグラウンドがよくわからん
0448名前は開発中のものです。2009/02/07(土) 00:34:27ID://aDzdii
> ・石に重力を働かせる処理
石クラス

> ・石と石の衝突処理
マップクラスに位置情報を登録して一括処理

> ・石とマップの衝突処理
石クラス
0449名前は開発中のものです。2009/02/07(土) 01:46:53ID:HaVHq232
> ・石に重力を働かせる処理
石クラス

> ・石と石の衝突処理
衝突判定クラス

> ・石とマップの衝突処理
衝突判定クラス
0450名前は開発中のものです。2009/02/07(土) 13:25:16ID:bH//onUq
> ・石に重力を働かせる処理
ゲーム管理クラス

> ・石と石の衝突処理
ゲーム管理クラス

> ・石とマップの衝突処理
ゲーム管理クラス
0451名前は開発中のものです。2009/02/07(土) 14:22:20ID:VS035g6S
> ・石に重力を働かせる処理
石に重力クラス

> ・石と石の衝突処理
石と石の衝突処理クラス

> ・石とマップの衝突処理
右とマップの衝突処理クラス
0452名前は開発中のものです。2009/02/07(土) 14:51:09ID:VC/wpjC+
>>451
オブジェクトの衝突判定の組み合わせの数だけクラス作るつもり?
0453名前は開発中のものです。2009/02/07(土) 16:19:23ID:Pn1Dl7Zh
>>450
CGameManagerですね、わかります
04544472009/02/07(土) 16:35:33ID:oHEfOG3S
みんな何のことだかわかっていて俺涙目
0455名前は開発中のものです。2009/02/13(金) 17:17:04ID:gamtZzLZ
テーマが石なら、
>・石に重力を働かせる処理
シーン管理クラス
>・石と石の衝突処理
シーン管理クラス
>・石とマップの衝突処理
シーン管理クラス
だな。
石なら質量・形(テクスチャ)・位置・速度・加速度など汎用なメンバ変数だけで事足りる。
シーンに乗る子オブジェクトを継承した石クラスを作っておいておくだけ。
石クラスの中身は空で、後々必要になったら拡張できるぐらいにとどめておく。
だから感覚的にはクラスを用いただけの構造体のような使い方で書くかな。

これがもし石でなく、人のような思考の多様性を持たせるのなら、また話は変わってくるかも。
0456名前は開発中のものです。2009/02/13(金) 17:35:30ID:gamtZzLZ
455だけど、修正
やっぱ衝突判定クラス作るわ。
シーン管理は保持オブジェクトと描画などについて司るだけで、
オブジェクト(石やらマップやら)をそれに入れて判定するだけにとどめておくのがいいと思った。
■ このスレッドは過去ログ倉庫に格納されています