C ++ / SDL2 IMG_Load错误(内存不足)

时间:2016-10-04 06:22:55

标签: c++ sdl-2

我正在拍摄游戏并且已经遇到了一个问题,精灵在经过一段时间后不断射击并且不断射击。在我的控制台中,打印出错误:

" IMG_LOAD_ERROR:内存不足" (" IMG_LOAD_ERROR:"是我自己的事情)

我还使用文字(SDL_ttf)来显示弹药数量。

我现在的假设是,我总是在每个产生的敌人的构造函数中调用IMG_load函数,但我甚至不确定这是否是导致它的原因。我能想到的可能性还有很多。

此外,我会在它们被摧毁时(当敌人失去生命或离开屏幕时)释放纹理。

有人可以帮助我理解这一点并帮助我解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

似乎你没有破坏你不需要的纹理/图像或渲染。

SDL_DestroyTexture(IMG); SDL_DestroyRenderer(渲染);

绘制图像的简单示例,我发现https://gist.github.com/armornick/3434362

我的建议:您应该加载所有纹理或开始应用或何时需要,但它必须是一次。您必须重复使用每个相同的图像。

很高兴看到代码找出代码有什么问题。