0

现在,我的场景管理器的工作方式是使用枚举和开关盒。

我有一个场景可以调用的方法,称为 changeScene(MENU_SCENE) 等等。

在场景管理器本身中,我有一个 switch case 说,case MENU_SCENE: return new MenuScene()。

这意味着每次我添加一个新场景时,我都必须将它添加到开关盒中。

在没有开关盒的情况下,有没有办法做到这一点?理想情况下,我想要一个给定字符串的东西,返回一个 BaseScene *,但我能想到的方式仍然涉及一个 switch case(或嵌套 ifs,因为不允许使用字符串)。

谢谢

4

1 回答 1

3

似乎您想要一个以字符串为键的地图。该值取决于您现在的 switch 语句中的内容。它可以像下一个字符串一样简单,或者如果您需要针对每种情况的特殊代码,它可以是一个指向要调用的函数的指针。

于 2012-01-05T05:05:24.613 回答