在我的项目中,我有一个 Animator 类,它有一个加载所有精灵的方法。
SDL_Texture*
Animator::CF_createImage_Load( SDL_Renderer* FP_renderer , std::string FV_path ,Uint8 FV_brC1,Uint8 FV_brC2,Uint8 FV_brC3, SDL_Window* window )
{
SDL_Surface* loadSurface = IMG_Load(FV_path.c_str());
SDL_Texture* texture = SDL_CreateTextureFromSurface( FP_renderer , loadSurface );
SDL_SetTextureColorMod(texture, FV_brC1, FV_brC2, FV_brC3);
SDL_SetTextureBlendMode( texture , SDL_BLENDMODE_ADD );
return texture;
SDL_FreeSurface( loadSurface );
SDL_DestroyTexture( texture );
}
因此,如果我在IDE中运行它,它会正确加载所有精灵而不会出现任何错误。我刚检查了所有指针进行调试,所有指针都没问题,每个图像都按照我的说法正确显示,但只在IDE中显示。如果我构建它并尝试在IDE外部运行可执行文件(在发行版或调试文件夹中),则根本不显示图像。
还有一件事。字体在IDE之外正确加载,但Sprites不是。