对多个类使用一个 SDL2 渲染器
Using one SDL2 renderer for multiple classes
我一直在尝试将一个渲染器链接到多个文件时遇到困难。我尝试使用静态渲染器,但我遇到了问题。我的问题是,在多个类和文件中使用相同的渲染器来帮助使用内存的方法是什么。我在 Linux 上,如果这有所作为。
您可以在每个类中都有一个引用成员变量,在main()
中初始化渲染器,并将引用传递给类的构造函数。
假设每个类都有一个Render()
方法或类似的东西,你需要SDL_Renderer
,你可以传递对在一个地方声明的SDL_Renderer
的引用Class->Renderer(const SDL_Renderer& Renderer )
。但是,这可能意味着通过各种调用堆栈传播SDL_Renderer
对象。
另一种方法是在类上保留对SDL_Renderer
的引用,并将其设置在这些类的构造函数中。然后在所需的任何方法中使用成员引用。
另一种方法是将SDL_Renderer
包装在单例中,在您需要它的方法中,只需从单例中获取它即可。这样,就可以避免通过调用堆栈传播它并保留对类的引用。
相关文章:
- 如何创建一个CMake变量,除非显式重写,否则使用默认值
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 运行同一解决方案的另一个项目的项目
- 挂起和取消挂起一个文件DLL
- 用C++中的一个变量定义一个常量
- 函数向量_指针有不同的原型,我可以构建一个吗
- 在c++中用vector填充一个简单的动态数组
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 预处理器:插入结构名称中的前一个行号
- 我在c++代码中生成了一个运行时#3异常
- 对多个类使用一个 SDL2 渲染器
- 如何在SDL2中渲染一个点
- 尝试在另一个 SDL2 上显示一个图像没有错误,但不会显示第二个图像
- 无法用SDL2 GFX绘制一个填充的圆圈
- 创建一个可部署的CMake动态SDL2应用程序
- 创建一个包含矩形的窗口,其中包含一个带有 C++ 和 SDL2 的矩形
- SDL2 运行得太快 -- 为什么当我只按一个按钮时它会读取多个输入
- 将一个表面起泡到另一个表面上(SDL2,C++,VS2015)
- 一个在SDL2, c++中旋转纹理的方法