Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 制作动态场景管理器?_C++_Scene - Fatal编程技术网

C++ 制作动态场景管理器?

C++ 制作动态场景管理器?,c++,scene,C++,Scene,现在,我的场景管理器的工作方式是使用枚举和开关盒 我有一个场景可以调用的方法,叫做changeScene(菜单\场景)等等 在场景管理器本身中,我有一个开关case,表示case MENU_scene:return new MenuScene() 这意味着每次添加新场景时,都必须将其添加到开关盒中 没有开关盒,有没有更好的方法?理想情况下,我希望给定一个字符串,返回一个BaseScene*,但我能想到的方法仍然是使用开关大小写(或嵌套的if,因为大小写中的字符串是不允许的) 谢谢好像你想要一张以

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

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

在场景管理器本身中,我有一个开关case,表示case MENU_scene:return new MenuScene()

这意味着每次添加新场景时,都必须将其添加到开关盒中

没有开关盒,有没有更好的方法?理想情况下,我希望给定一个字符串,返回一个BaseScene*,但我能想到的方法仍然是使用开关大小写(或嵌套的if,因为大小写中的字符串是不允许的)


谢谢

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

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