我使用Code :: Blocks和SDL庫創建一個簡單的計算機遊戲。 我一直在關注一些教程,並且創建了一個tic tac toe的功能性遊戲。 雖然該項目沒有任何具體說明,但我創建了可用於其他遊戲的模板。 使用該模板,我創建了一個新項目,在那裏我會有一個Yoshi運行的圖像。 但是,在這個新項目中,當我使用需要打開文件的函數時,它永遠不會工作。例如:在C++中,使用Code :: Blocks無法打開文件,儘管它存在且路徑應該正確
if ((Surf_Anim = CSurface::OnLoad("yoshi.bmp")) == NULL)
return false;
總是返回false,即使yoshi.bmp存在,並且在onload功能exactely一樣井字項目。
我已經放在yoshi.bmp圖像的副本旁邊的可執行文件,它仍然無法正常工作。 (在功能井字遊戲項目,這些照片是在同一目錄下的項目)
我在做什麼錯?
編輯:確認的文本文件,操作後工作正常,我編輯的C表面::的OnLoad功能,如:
SDL_Surface* CSurface::OnLoad(char* File)
{
SDL_Surface* Surf_Temp = NULL;
SDL_Surface* Surf_Return = NULL;
if((Surf_Temp = SDL_LoadBMP(File)) == NULL)
{
return NULL;
}
printf ("Loafing worked\n");
Surf_Return = SDL_DisplayFormat (Surf_Temp);
SDL_FreeSurface(Surf_Temp);
if (Surf_Return == NULL)
printf ("SDL_DisplayFormat didn't\n");
return Surf_Return;
}
雙方的printf函數被處決。我想這個問題與我使用SDL函數的方式有關。無論如何,在一個完美的工作項目中,一切都以同樣的方式完成。圖像yoshi.bmp,與上述工作項目中的圖像一樣,具有24位顏色的位圖...
嘗試使用文件的完整路徑。 – 2013-02-11 12:48:56
不使用code :: blocks。這太可怕了。 – 2013-02-11 12:55:37
@TonyTheLion有什麼選擇? – 2013-02-11 12:57:31