아마도 개발자가 입력을 처리해야 할 모든 게임에서 아마도 간단한 키보드 및 마우스 이벤트, 터치 이벤트 또는 가속도계 입력과 같은 것일 수 있습니다. 이 입력은 게임에서 오브젝트에 간접적으로 영향을줍니다. 때로는 같은 입력이 다른 객체에 영향을 줄 수 있습니다. 이제 이것을 모델링하는 방법에 대해 생각하고 있습니다. 내가 보는 방식에는 두 가지 다른 접근법이 있습니다.
게임 오브젝트 자체가 처리하고 이벤트를 구독하고 자체 메소드를 호출하게하십시오. 이것은 게임 오브젝트 자체가 어떤 입력이 어떤 행동을 유발하는지 결정하게하는 이점이 있습니다. 단점은 입력 코드가 "핵심"게임 오브젝트 코드와 엉망이되는 것 같습니다. 또한 게임 오브젝트는 게임의 나머지 상태를 인식하지 못하며 때로는 입력 이벤트에 작용하지 않아야합니다. 이것은 옳지 않은 것 같습니다.
일반 입력 컨트롤러가 모든 입력을 처리하고 누가 어떤 이벤트를 처리 할 것인지 결정합니다. 이것은 문제를 더 잘 분리하는 것처럼 보이지만 입력 컨트롤러 클래스를 게임 오브젝트에 깔끔하게 연결합니다. 누가 어떤 이벤트와 어떤 주를 받고 싶어하는지 알아야합니다. 이것도 옳지 않은 것 같습니다.
이를 처리하기 위해 어떤 전략을 사용하고 있습니까?