我的SDL有问题。当我运行以下代码时,它没有响应。我的.bmp和可执行文件在同一个文件夹中。代码中的问题或者哪个.....?
#include "SDL/SDL.h"
int main( int argc, char* args[] )
{
SDL_Surface* robot = NULL;
SDL_Surface* screen = NULL;
SDL_Init( SDL_INIT_EVERYTHING );
screen = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE );
robot = SDL_LoadBMP( "robot.bmp" );
SDL_BlitSurface( robot, NULL, screen, NULL );
SDL_Flip( screen );
SDL_Delay( 12*1000 );
SDL_FreeSurface( robot );
SDL_Quit();
return 0;
}
答案 0 :(得分:3)
SDL_Delay( 12*1000 );
将暂停当前线程12秒。问题是停止的线程是“视频”线程,负责显示图像的线程。在12个secons之后,窗口将关闭,程序将退出。
为了查看图像并随意退出,您需要等待您选择的特定事件,如键盘事件。请参阅here how to make basic event loop与SDL。