0
우분투 12.04에서 SDL 1.2로 프로그래밍하고 있습니다. SDL은 이벤트 루프에 지정된 첫 번째 이벤트를 "드롭"하는 것으로 보입니다. 예를 들어, "x"상자를 통해 게임을 종료했는지 확인하고 응용 프로그램에서 "x"상자를 클릭하면 아무 일도 일어나지 않습니다. 그러나 두 번째 클릭시 게임이 종료됩니다. 내 게임 루프 :SDL이 초기 이벤트를 "삭제"합니까?
void game_run()
{
int RUNNING = 1;
while(RUNNING == 1)
{
while(SDL_PollEvent(&scr.event))
{
switch(scr.event.type)
{
case SDL_QUIT:
RUNNING = 0;
break;
case SDL_KEYDOWN:
switch(scr.event.key.keysym.sym)
{
case SDLK_ESCAPE:
RUNNING = 0;
break;
default:
break;
}
break;
default:
break;
}
}
// draw here
SDL_Flip(scr.buffer);
}
}
더 많은 정보가 필요하면 알려 주시기 바랍니다. 이 프로그램은 이벤트 루프가 잘 작동하고 문제가 당신이 표시되지 않은 코드 어딘가에 것을 확인한 즉시 종료해야 당신의
case SDL_QUIT:
RUNNING = 0;
break;
case SDL_QUIT:
exit(0) ;
break;
에
Nailed it. 정말 고맙습니다! :디 – Lemmons