IDE:Code :: blocks 编译器:MinGW
我正确安装了SDL和SDL_image(构建时不会出现任何错误)。 一切都编译得很好但是当我运行时,SDL窗口出现,但图像永远不会闪烁,窗口。我使用SDL_image,所以我可以加载PNG图像(或者我希望如此)。
代码:
#include <cstdlib>
#include <iostream>
#include "SDL_image.h"
#include <SDL/SDL.h>
int main ( int argc, char** argv )
{
SDL_Surface* test = NULL;
SDL_Surface* screen = NULL;
//Start SDL
SDL_Init( SDL_INIT_EVERYTHING );
//Name the window
SDL_WM_SetCaption( "Test-1", NULL );
//Set up screen
screen = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE );
//Load image
test = IMG_Load("Test.png");
//Apply image to screen
SDL_BlitSurface( test, NULL, screen, NULL );
//Update Screen
SDL_Flip( screen );
//Pause
SDL_Delay( 2000 );
//Free the loaded image
SDL_FreeSurface( test );
//Quit SDL
SDL_Quit();
return 0;
}
答案 0 :(得分:0)
也许您可以尝试创建一个窗口然后再创建一个表面,然后通过曲面将图像blit到窗口上?然后你可以试试这个功能:
SDL_UpdateWindowSurface(*windowinstance*)
这里有更多信息:link(虽然这是加载一个* .bmp文件,但我确定这个概念是一样的)。也可以尝试上面提到的答案。可能只是找不到图像...