0

現在、私のシーン マネージャーの動作方法は、列挙型とスイッチ ケースを使用することです。

changeScene(MENU_SCENE) などと呼ばれるシーンから呼び出せるメソッドがあります。

シーン マネージャー自体には、case MENU_SCENE: return new MenuScene() という switch ケースがあります。

つまり、新しいシーンを追加するたびに、それをスイッチ ケースに追加する必要があります。

スイッチケースなしでこれを行う打者の方法はありますか? 理想的には、指定された文字列が BaseScene* を返すようなものが欲しいのですが、考えられる方法には、スイッチ ケース (またはケース内の文字列が許可されていないため、ネストされた if) が含まれます。

ありがとう

4

1 に答える 1

3

文字列がキーであるマップが必要なようです。値は、現在の switch ステートメントの内容によって異なります。次の文字列のように単純なものにすることも、ケースごとに特別なコードが必要な場合に呼び出す関数へのポインターにすることもできます。

于 2012-01-05T05:05:24.613 に答える