私はこのチュートリアルに従ってきましたが、ビットマップをロードして使用する方法を説明するところまで来ました。現在のコードは次のとおりです。
#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;
}
ただし、helloはNULL以外の値を取得することはありません。私はCode::Blocksを使用しており、プロジェクトのすべての可能なディレクトリ(bin、obj、Debugのいずれか、.cbpのあるディレクトリ)にhello world.pngを分散させるか、パス全体を指定します。コード内の画像に(SDL_LoadBMP( "C:\ Dir \ hello world.png")のように)helloはNULLを取得します。
私は何が間違っているのですか?
OSはWindowsです
編集:わかりました、どうやらSDL_LoadBMPは.bmpファイルしかロードできません!なんてばかげている。