ゲームにおけるデータ構造・クラス設計・パターン
■ このスレッドは過去ログ倉庫に格納されています
0426名前は開発中のものです。
2007/07/18(水) 20:55:21ID:ux1Fssbs> 値を保持するクラスと操作するクラスは分けろこのスカポンタン
インターフェースと実装を分離するのは一般論としては間違いじゃないが、粒度が違う。
メンバ変数単位ではなく、意味のあるメンバ変数のセットをインターフェースにしろって
意味だと思うよ。
// 衝突判定後に、消灯判定マネージャから衝突回避のために位置をずらされる
struct IMovable {
// 現在位置
virtual void getPosCur(VECTOR3* p) const = 0;
// 移動したい位置
virtual void getPosNext(VECTOR3* p) const = 0;
// 衝突しないようにマネージャがずらした位置
virtual void setPos(VECTOR3 const& v) = 0;
};
class Player : public IMovable { ... };
class CollisionManager { /* こいつは IMovable だけ使用 */ };
こういう話かと。
■ このスレッドは過去ログ倉庫に格納されています