我的SDL应用程序没有响应

时间:2014-01-13 15:33:58

标签: sdl

我的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;
 }

1 个答案:

答案 0 :(得分:3)

SDL_Delay( 12*1000 );将暂停当前线程12秒。问题是停止的线程是“视频”线程,负责显示图像的线程。在12个secons之后,窗口将关闭,程序将退出。

为了查看图像并随意退出,您需要等待您选择的特定事件,如键盘事件。请参阅here how to make basic event loop与SDL。