저는 지금 게임 디자인을 배우고 있습니다. 시작하기 위해 SuperMarioBro는 이제 작은 엔진으로 끝낼 게임입니다. 마리오가 물음표를 치면 버섯이나 금화, 흰 꽃 등이 나타나도록 방아쇠를 디자인하고 싶습니다. 그래서 그것을 치면 트리거가 트리거되고 콜백 함수를 호출하여 더 많은 디커플링을 만들기 위해 다른 것을 생성합니다.
그래서 제 질문은 어떻게 이런 이벤트 트리거의 완벽한 프레임 워크를 디자인 할 수 있는가하는 것입니다.
문제는 일반적이기 때문에, 나는 당신에게 어떻게 순진한 생각 줄 것이다 나는 개인적으로 생각 시작할 것입니다.
게임에 이미 이벤트 관리자가 있다고 가정합니다. 여기에 등록하여 특정 이벤트 발생 알림을 수신 할 수 있습니다 ( 관찰자 디자인 패턴을 사용할 수 있음 ).
그런 다음 특정 작업을 트리거하려는 이벤트에 대한 수신자로 TriggerManager를 등록했습니다. 관찰 된 이벤트의 각 유형에 대해 TriggerManager에는 다음 두 가지가 포함됩니다.
필터는 이벤트가 원하는 조건 (예 : 범위 영역 내에서 이동 한 엔티티)에 맞는지 결정하는 데 사용됩니다.
이벤트가 필터를 통과하면 해당 이벤트에 대한 반응으로 처리기가 실행됩니다 (다른 엔티티 또는 시스템에 전송 된 작업 / 명령 / 이벤트).
또한, 과거의 어느 시점에서 나는 reddit (댓글 참조)에 대한 게시물 을 읽었으며, 이 게시물 도 꽤 영감을 받았으며 다른 접근 방식을 설명했습니다.
gamedev.stackexchange.com 의 stackexchange 게임 개발자 커뮤니티에 질문 할 수도 있습니다.
이것이 당신에게 몇 가지 아이디어를 제공하기를 바랍니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다