现在,我的场景管理器的工作方式是使用枚举和切换案例。
我有一个场景可以调用的方法叫做changeScene(MENU_SCENE)等等。
在场景管理器本身,我有一个开关案例说明,案例MENU_SCENE:返回新的MenuScene()。
这意味着每次添加新场景时,我都必须将其添加到开关盒中。
在没有开关盒的情况下,有没有一种方法可以做到这一点?理想情况下,我喜欢给定字符串的东西,返回一个BaseScene *,但我能想到它的方式仍然会涉及一个switch case(或嵌套ifs,因为不允许使用字符串)。
由于
答案 0 :(得分:3)
好像你想要一个字符串是键的地图。该值取决于您的switch语句中的内容。它可以像下一个字符串一样简单,或者它可以是一个指向要调用的函数的指针,如果您需要为每个案例设置特殊代码。