LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1228|回复: 1

SDL_Event 问题,急急急,会的来指导下,谢谢!!!!!!!!!!!!!!!

[复制链接]
发表于 2008-6-1 14:51:08 | 显示全部楼层 |阅读模式
#include <SDL/SDL.h>
void ShowBMP(char *filename,SDL_Surface *screen,int x,int y)
{
SDL_Surface *image;
SDL_Rect dest;

image=SDL_LoadBMP(filename);
if(image==NULL)
{
        fprintf(stderr,"无法加在%s:%s\n",SDL_GetError());
    return;
}
dest.x=100;
dest.y=200;
dest.w=image->w;
dest.h=image->h;
SDL_BlitSurface(image,NULL,screen,&dest);
SDL_UpdateRects(screen,1,&dest);
}

int main()
{
SDL_Surface *screen;
if(SDL_Init(SDL_INIT_VIDEO)<0)
{
fprintf(stderr,"无法初始化SDL%s\n",SDL_GetError());
exit(1);
}
screen=SDL_SetVideoMode(800,600,16,SDL_SWSURFACE);
if(screen==NULL)
{
fprintf(stderr,"无法设置%s\n",SDL_GetError());
exit(1);
}
/* SDL_Event event;
while(SDL_PollEvent(&event))
  {
        switch(event.type)
    {
     case SDL_KEYDOWN:
     printf("anykey down");
     ShowBMP("test.bmp",screen,10,10);break;
     //exit(0);
     case SDL_MOUSEMOTION:
     printf("mouse from %d, %dto %d,%d\n",event.motion.xrel,event.motion.yrel,event.motion.x,event.motion.y);
     break;
     case SDL_MOUSEBUTTONDOWN:
     printf("%d down%d %d\n",event.button.button,event.button.x,event.button.y);
     break;
     case SDL_QUIT:
     exit(0);
    }
  }*/

SDL_Event event;
SDL_WaitEvent(&event);
switch(event.type)
{
    case SDL_KEYDOWN:
    case SDL_KEYUP:
     ShowBMP("test.bmp",screen,10,10);
     SDL_Delay(5000);
     break;
   
    case SDL_QUIT:
    exit(0);
}
//SDL_Delay(5000);
atexit(SDL_Quit);

}
我想实现在键盘按下后,加载一副图片可是,上面的两种方法都试了,不起作用阿。要么一闪而过,要么不响应事件,为什么?希望得到指正,谢谢了。
 楼主| 发表于 2008-6-16 10:50:25 | 显示全部楼层
问题以解决。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表