シューティングゲーム製作技術総合 13機目at GAMEDEV
シューティングゲーム製作技術総合 13機目 - 暇つぶし2ch159:名前は開発中のものです。
07/04/09 14:40:22 TJO4g1v+
(>>158の続き)
つまり、雑魚も「オブジェクト」でいいじゃんっていう話。
class Zako : public Object
{
public:
  void draw() {doutai->draw(x, y); migite->draw(x-8, y); …}
protected:
  double x, y;
  Doutai* doutai;
  Migite* migite;
};

リストを使ってスマートにやりたいっていうんだったら、
class ObjectComposite : public Object
{
public:
  void draw() {object_list内の全オブジェクトのdrawを呼ぶ};
protected:
  list<Object*> object_list;
};
をZakoが継承すればいい。個別に引数を渡したいときには困るかもだがな。

こういう風にすれば、全てのオブジェクトを描画したい時は
for(iterator = list.begin(); iterator != list.end(); ++iterator) {
  (*iterator)->draw();
}
だけで済む。オブジェクトが次のオブジェクトを知っている必要はなくなる。

まだ色々書きたいことはあるけど何か反応があってからにする。長文スマン。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch