我有以下代码,其中我尝试首先渲染背景,然后在它们之上渲染一些项目。唯一出现的是背景。
纹理是我制作的类的向量,它基本上只包含SDL_Texture*
和SDL_Rect*
。纹理不是NULL
,SDL_Rect定位在屏幕上,我不确定它们为什么不显示。
//Clear screen
SDL_RenderClear(renderer);
SDL_RenderCopy(renderer, background, NULL, NULL); //Render background
for (auto texture : textures) {
if (texture.getXPos() && texture.getYPos()) { //Position, if applicable
SDL_RenderCopy(renderer, texture.getTexture(), NULL, texture.getRect());
}
else {
SDL_RenderCopy(renderer, texture.getTexture(), NULL, NULL);
}
}
//Update screen
SDL_RenderPresent(renderer);
答案 0 :(得分:1)
愚蠢的错误:当我使用SDL_Surface
时,我会将SDL_Rect
的w和h设置为0,这显然不是它应该如何与SDL_Texture
一起使用。< / p>