ページ 11

クラスについて

Posted: 2012年12月23日(日) 16:23
by ぬこ
C++でゲームを作ろうとしているのですがどうクラスを作るかで迷っています。
キャラクラスがあったとしてそこに描画関数をもたせるのか
描画クラスを作ってそこにキャラクラスの情報(座標等)を渡すのか
です。
どちらがいいのでしょうか。

Re: クラスについて

Posted: 2012年12月23日(日) 17:54
by beatle

コード:

character.render();  // キャラクタクラスに描画関数を持たせる
renderer.render(character);  // 描画クラスを作ってキャラクタを渡す
どっちも一長一短があると思います。

キャラクタに描画関数を持たせると「キャラクタを描画したいなあ」と思ったときにキャラクタクラスを見れば関数があるので、直感的にコードが書けるいっぽうで、
おそらくキャラクタクラスにはロジック部分もあるでしょうから、ロジックと描画が混在して見にくいコードになる可能性があります。

描画クラスを作ると、何かを描画するにも2つのクラス(描画対象クラスと描画クラス)が必要なので少し直感的ではなくなりますが、
ロジックと描画を分離できて見やすくなるかもしれません。

Re: クラスについて

Posted: 2012年12月23日(日) 18:46
by ぬこ
見やすさか分かりやすさの違いですか。
今回は描画クラスを作ることにします。
ありがとうございました。