我最近才开始在C中工作并使用SDL,所以我确定这是一些基本的东西我搞砸了,但我能找到的每个示例代码看起来都像我的,除了我的不起作用。所以任何帮助都会受到欢迎。
#include <stdio.h>
#include <SDL.h>
int main(int argc, char *argv[])
{
SDL_Event event;
int game_running = 1;
while (game_running)
{
while (SDL_PollEvent(&event))
{
switch (event.type) /* checking for event type */
{
case SDL_KEYDOWN:
switch(event.key.keysym.sym)
{
case SDLK_UP:
printf("You pressed up.\n");
break;
case SDLK_DOWN:
printf("You pressed down.\n");
break;
}
break;
case SDL_KEYUP:
printf("You stopped pressing the button.\n");
break;
case SDL_QUIT:
game_running=0;
break;
}
}
}
SDL_Quit();
printf("The program stopped.");
return 0;
}
答案 0 :(得分:4)
事件处理与显示表面相关联。添加如下内容:
SDL_Init (SDL_INIT_VIDEO);
SDL_SetVideoMode (320, 200, 8, 0);
它会起作用。