制作动态场景管理器

Making a dynamic scene manager?

本文关键字:管理器 动态      更新时间:2023-10-16

现在,我的场景管理器的工作方式是使用枚举和切换用例。

我有一个场景可以调用的方法,叫做changeScene(MENU_scene)等等

在场景管理器中,我有一个switch case,上面写着case MENU_scene:return new MenuScene()。

这意味着每次添加新场景时,我都必须将其添加到切换案例中。

有没有更好的方法可以在没有开关盒的情况下做到这一点?理想情况下,我希望在给定字符串的情况下返回BaseScene*,但我认为它仍然涉及切换用例(或嵌套的if,因为不允许在用例中使用字符串)。

感谢

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