ゲームにおけるデータ構造・クラス設計・パターン2at GAMEDEVゲームにおけるデータ構造・クラス設計・パターン2 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト508:名前は開発中のものです。 09/03/20 04:53:53 09EDEaYz …続き elementList.push_back(landform); elementList.push_back(menu); void mainLoop() { DrawingVisitor visitor(lpD3DDEV); for(ElementList::iterator i = elementList.begin(); i != elementList.end(); ++i) { i->accept(visitor); } } うーむ…。 509:501 09/03/21 12:54:05 Y4F/PoMw >>506 今回の話ではModelとControllは関係なくて、Viewの枠内だけで完結する話だと思ってる >>507 複雑すぎて俺の頭では完全には理解できないけど、 > virtual void visit(Landform& x) { pDevice->draw(x.getLandData()); } > virtual void visit(Menu& x) { pDevice->draw(x.getMenuData()); } ここを見るとデバイスに直接アクセスする処理を1クラス内、複数関数にまとめたって感じかな うーん…、複数の関数にデバイスアクセス処理が分散してるとこがあまりうれしくないかな。 (俺には複雑過ぎるのはさておき) 俺が扱いづらいと思ってるところは、 pDeviceさえあればdraw()以外にもbegin_render()とかset_camera()とかいろいろ デバイスに対して変更加えることができちゃうわけで、 それをばら撒くってことはいつどこでデバイスに変更が加わるか、例えばいつどこで何回begin_render()されてるのか とかが追跡しづらくなる。これは1週間後の自分に優しくない。 こんな感じでデバイスに直接アクセスする処理をどう管理したもんかと考えて ひとつの対策案としてデバイスアクセス処理を1関数内に限定しちゃえってのが >>501 の「案」。 だから例えば複数の関数に同一デバイスへのアクセス処理が分散してるのは自分的には問題が解決していないと感じる。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch