ゲームにおけるデータ構造・クラス設計・パターンat GAMEDEVゲームにおけるデータ構造・クラス設計・パターン - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト105:名前は開発中のものです。 06/09/02 18:36:54 NT+ChiaN variant型なんだからもちろん実行時型識別してくれるよ。 具体的には型にid振ってswitch caseしてるだけ。 メモリアロケーションも発生しないからなかなか優秀。 ただオブジェクトサイズが最大のものに揃っちゃうけど。 106:名前は開発中のものです。 06/09/02 18:40:42 NT+ChiaN こんな感じね。↓ #include <boost/variant.hpp> using namespace boost; class visitor : public static_visitor<> { public: void operator () (int n, int m) const {} void operator () (char n, char m) const {} void operator () (char n, int m) const {} void operator () (int n, char m) const {} }; ・・・・ variant<int, char> v0, v1; v0 = int(2); v1 = char(3); apply_visitor(visitor(), v0, v1); v0 = char(2); v1 = char(3); apply_visitor(visitor(), v0, v1); 107:名前は開発中のものです。 06/09/02 21:49:46 AcWLcw3K >>105 いや、突き詰めていくと、同じ型であってもゲーム上で異なる意味を持つ場合がよくあって、 そういう場合は(言語としての)型でのディスパッチだけでは不十分で、 結局、ゲームにあわせたIDなり名前なりで自前のルーチンを組むことになるって話。 特にRTSやFPSみたく、プログラマは基本的な構造とツールを提供するだけで 後はデザイナーの仕事、のように分業されてるゲームではそうなりやすいでしょ。 って書いてて気づいたけど型クラスじゃなくて型オブジェクトだったよ(´・ω・`)スマソ。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch