Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。438件2cocos2d-objCで書いたtiledMapを使ったゲームを、cocos2d-x(v3.7.1)で書き直しています。objC版では、Tiledのオブジェクトグループからプロパティを読み込んで、そのnameプロパティによって、ゲームに追加するキャラクター等オブジェクトのクラスを決定していました。nameプロパティには"Player"や"Serpent"(敵キャラ)が設定されており、NSClassFromStringでPlayerクラスやSerpentクラスのクラスオブジェクトを取得して、オブジェクトを生成しています。同様のことをやろうとすると、数十個のクラスについて場合分けを書かねばならず、また、クラスが追加された時に、いちいち場合分け文を追加しなければなりません。cocos2d-xで、Tiledのプロパティに設定したnameから、対応したクラスのオブジェクトを生成する効率的な方法がありましたら教えてください。Methodパターンを使う場面だと思います。Loki::Factoryを使うと以下のように書けます。対応する関数への引数)で対応する関数を検索して呼び出します。従って、キャラクタークラスを増やす場合にRRGCharacterFactoryを一切変更する必要はありません。ファクトリクラスを自分で一々作るのは面倒だし同じような実装になるので、Lokiライブラリではクラステンプレートで汎用的なファクトリクラステンプレートを定義しています。自分でRRGCharacterFactoryを作る場合は、例えば以下のようになります。個の銅バッジ回答ありがとうございます。シングルトンのCharacterFactoryクラスを作って、その中で引数の名前で条件分岐して対応するクラスのオブジェクトを返す感じでしょうか。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。*'3c++でのクラス拡張(カテゴリ)0cocos2d-xでc配列をvalueMapに保存1cocos2d-xでUnityのようなInput関数をつくりたいです。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。