c++ - 初始化 SDL_Surface 时遇到问题

标签 c++ initialization sdl rectangles

我正在尝试在 SDL [C++] 中设置一些东西,我可以在其中绘制一个一像素大的矩形。除了名为矩形的第二个 SDL_Surface 之外,我的代码中的所有内容均已正常工作。我在初始化它时遇到问题。这是我尝试初始化它的行:

rectangle = SDL_Surface(SDL_DOUBLEBUF | SDL_HWACCEL | 
                        SDL_SRCALPHA  | SDL_HWSURFACE,
                        screen->format, 1, 1, 16, NULL, clip_rect, 1);

感谢您花时间阅读本文以及您可能选择给出的任何答案。

最佳答案

我认为您遇到的主要问题是没有 SDL_Surface 函数。要创建新表面,请使用 SDL_CreateRGBSurface 。使用完后,请务必在返回的表面上调用 SDL_FreeSurface,否则会泄漏内存。

此外,我不确定您为什么要为矩形创建表面。绘制纯色矩形的更简洁的方法是 SDL_FillRect无需创建新的表面。

关于c++ - 初始化 SDL_Surface 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/508844/

相关文章:

c++ - Android Studio 上的 Cocos2d-x - 未列出新的 CPP 文件

c++ - 如何初始化包含opencv :matrices?的二维 vector

使用 SDL 在 C 上创建矩形

c - 将 SDL 嵌入 GTK+

c++ - 通过 Internet 发送 UDP 数据报

c++ - 指针 - 重复对象实例

c++ - C++11、14、17 或 20 是否为 pi 引入了标准常量?

c++ - 组合 C++ 有问题

ruby-on-rails - Rails 预编译常量未初始化

c++ - sdl:在全屏模式下解锁鼠标并使其可在另一台显示器上使用