纹理不渲染

Textures don't render

本文关键字:纹理      更新时间:2023-10-16

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


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

愚蠢的错误:当我使用 SDL_Surface 时,我会将 SDL_Rect 的 w 和 h 设置为 0,这显然不是它应该与 SDL_Texture 一起工作的方式。