我的腳本無法運行,因爲它會打開一個窗口並關閉它。它在加載文件時失敗。該腳本適用於我的筆記本電腦,但不適用於我的臺式電腦,並且所有的neccecary文件都在那裏。這是關於這個功能的;在SDL中使用自定義函數加載圖像失敗
這是我的功能load_image()
;
SDL_Surface *load_image(std::string filename)
{
//The image that's loaded
SDL_Surface* loadedImage = NULL;
//The optimized surface that will be used
SDL_Surface* optimizedImage = NULL;
//Load the image
loadedImage = IMG_Load(filename.c_str());
//If the image loaded
if(loadedImage != NULL)
{
//Create an optimized surface
optimizedImage = SDL_DisplayFormatAlpha(loadedImage);
//Free the old surface
SDL_FreeSurface(loadedImage);
//If the surface was optimized
if(optimizedImage != NULL)
{
//Color key surface
SDL_SetColorKey(optimizedImage, SDL_SRCCOLORKEY, SDL_MapRGB(optimizedImage->format, 0, 0xFF, 0xFF));
}
}
//Return the optimized surface
return optimizedImage;
}
我這樣稱呼它;
sprite = load_image("sprites.png");
if(sprite == NULL)
{
return false;
}
唯一的問題是,它始終返回false,即使該文件是在那裏。問題是,這個代碼不會在我的筆記本電腦上返回false!
兩臺計算機上的文件是否位於相同路徑中? – 2012-03-09 22:33:47
不,但我在兩臺機器上完全重新編譯它,所以它應該沒有關係? – 2012-03-09 22:39:19