0
나는 SDL_EventState를 사용하여 특정 이벤트를 사용하거나 사용하지 않도록 설정했습니다. 그러나 일단 어떤 상태로든 on이나 off 상태로 설정하면 프로그램의 다른 부분에서 변경할 수 있습니다. 더 설명하기 위해, 여기 내 루프가있다.SDL_EventState 토글
void game::startLoop()
{
while(QUIT == false)
{
getRoomUpdate();
applySurface(-15, 280, zombie_lefthand, buffer);
applySurface(455, 280, zombie_righthand, buffer);
SDL_Flip(buffer);
SDL_WaitEvent(&gameEvent);
{
switch(gameEvent.type)
{
case SDL_QUIT:
QUIT = true;
break;
case SDL_KEYUP:
switch(gameEvent.key.keysym.sym)
{
case SDLK_LEFT:
if(isTwoWay == true)
SDL_EventState(SDL_KEYUP, 1);
startLoop();
log("Left key pressed.");
SDL_EventState(SDL_KEYUP, 0);
case SDLK_RIGHT:
if(isTwoWay == true)
SDL_EventState(SDL_KEYUP, 1);
startLoop();
log("Right key pressed.");
SDL_EventState(SDL_KEYUP, 0);
case SDLK_UP:
if(isTwoWay == false)
SDL_EventState(SDL_KEYUP, 1);
startLoop();
log("Up key pressed.");
SDL_EventState(SDL_KEYUP, 0);
default:
SDL_EventState(SDL_KEYUP, 0);
}
}
}
}
}
해당 코드로 무엇을하려고합니까? – genpfault
KEYUP이 특정 시간에만 등록하도록 허용하려고합니다. 지금 우리는 벽을 통해 걷는 것을 가질 수 없습니다. – Lemmons