我一直在关注this tutorial,我已经指明了如何加载和使用位图。这是当前的代码:
#include "SDL/SDL.h"
#include <stdlib.h>
int main (int arg, char *argc[]) {
SDL_Surface* screen = NULL;
SDL_Surface* hello = NULL;
SDL_Init(SDL_INIT_EVERYTHING);
screen = SDL_SetVideoMode (256, 256, 32, SDL_SWSURFACE);
hello = SDL_LoadBMP("hello world.png"); // Here
if (hello == NULL) exit(0);
SDL_BlitSurface(hello, NULL, screen, NULL);
SDL_Flip(screen);
SDL_Delay(2000);
SDL_FreeSurface(hello);
SDL_Quit();
return 0;
}
但是,你好,除了NULL之外,永远不会获得任何值。我正在使用Code :: Blocks,即使我将hello world.png分散到项目的所有可能目录中(无论是在bin,obj,Debug之一,带.cbp的目录中)还是指定整个路径in-code中的图像(如在SDL_LoadBMP(“C:\ Dir \ hello world.png”中))hello 将变为NULL。
我做错了什么?
操作系统是Windows
编辑:好吧,显然SDL_LoadBMP只能加载.bmp文件!我真傻。