대형 게임에서 입력을 관리하는 표준 기술이 있습니까? 현재 내 프로젝트에서 모든 입력 처리는 게임 루프에서 다음과 같이 수행됩니다.
while(SDL_PollEvent(&event)){
switch(event.type){
case SDL_QUIT:
exit = 1;
break;
case SDL_KEYDOWN:
switch(event.key.keysym.sym){
case SDLK_c:
//do stuff
break;
}
break;
case SDL_MOUSEBUTTONDOWN:
switch(event.button.button){
case SDL_BUTTON_MIDDLE:
//do stuff
break;
}
}
break;
}
(SDL을 사용하고 있지만 주요 사례는 라이브러리와 프레임 워크도 적용한다고 생각합니다). 큰 프로젝트의 경우 이것이 최선의 해결책이 아닌 것 같습니다. 사용자가 무엇을 눌렀는지 알고 싶은 객체가 여러 개있을 수 있으므로 해당 객체가 입력을 처리하는 것이 더 합리적입니다. 그러나 이벤트를 가져온 후 이벤트 버퍼에서 푸시되므로 다른 객체가 해당 입력을 수신하지 않으므로 입력을 모두 처리 할 수는 없습니다. 이를 방지하기 위해 가장 일반적으로 사용되는 방법은 무엇입니까?