纹理不会渲染

时间:2015-01-02 16:47:04

标签: c++ sdl sdl-2

我有以下代码,其中我尝试首先渲染背景,然后在它们之上渲染一些项目。唯一出现的是背景。​​


纹理是我制作的类的向量,它基本上只包含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);

1 个答案:

答案 0 :(得分:1)

愚蠢的错误:当我使用SDL_Surface时,我会将SDL_Rect的w和h设置为0,这显然不是它应该如何与SDL_Texture一起使用。< / p>