制作动态场景管理器
Making a dynamic scene manager?
现在,我的场景管理器的工作方式是使用枚举和切换用例。
我有一个场景可以调用的方法,叫做changeScene(MENU_scene)等等
在场景管理器中,我有一个switch case,上面写着case MENU_scene:return new MenuScene()。
这意味着每次添加新场景时,我都必须将其添加到切换案例中。
有没有更好的方法可以在没有开关盒的情况下做到这一点?理想情况下,我希望在给定字符串的情况下返回BaseScene*,但我认为它仍然涉及切换用例(或嵌套的if,因为不允许在用例中使用字符串)。
感谢
似乎您想要一个以字符串为键的映射。该值取决于switch语句中的内容。它可以像下一个字符串一样简单,也可以是指向要调用的函数的指针(如果您需要针对每种情况的特殊代码)。
相关文章:
- 如何维护资源管理器项目视图中当前可见的项目列表
- 使用"Task"函数指针队列定义作业管理器
- 实现动态插件管理器
- 编译器资源管理器和 GCC 具有不同的输出
- Windows 资源管理器中的图标在使用 resource.rc 时显示 2 个不同的图标
- C++ 事件管理器的回调,使用 std::function 和 std:bind 以及派生类作为参数
- Linux 包管理器如何处理 C++20 个模块?
- 编译器资源管理器(godbolt)如何安全地运行代码?
- 创建跨平台 C++ 触摸管理器.在 c++ 中传递 Objective-c 对象涉及代码
- 从 GUI 文件资源管理器执行程序,并且不生成终端
- 自定义内存管理器在发布模式下工作正常,但在调试模式下则不然
- 无法删除EXE崩溃后,即使进程未显示在任务管理器中
- 任务管理器 - C/C++ 应用程序 - 分配的地址空间与已用内存
- 如何以编程方式获取任务管理器进程CPU使用率(不是PerfMon API)
- 管理器类和对象类之间的通信
- WinDBG适用于从Visual Studio 2015保存的转储,但不适用于任务管理器。显示异常代码"not found"
- 在C++中将系统与ECS(实体组件系统)管理器分离
- 是否可以检索与柯南包管理器一起打包的库的源代码,以便在其中进行调试?
- 在具有动态大小内存池的多线程C/C++中实现内存管理器
- 制作动态场景管理器