기존 엔진없이 게임에서 EventTrigger의 프레임 워크를 디자인하는 방법은 무엇입니까?

세븐 티즈

저는 지금 게임 디자인을 배우고 있습니다. 시작하기 위해 SuperMarioBro는 이제 작은 엔진으로 끝낼 게임입니다. 마리오가 물음표를 치면 버섯이나 금화, 흰 꽃 등이 나타나도록 방아쇠를 디자인하고 싶습니다. 그래서 그것을 치면 트리거가 트리거되고 콜백 함수를 호출하여 더 많은 디커플링을 만들기 위해 다른 것을 생성합니다.

그래서 제 질문은 어떻게 이런 이벤트 트리거의 완벽한 프레임 워크를 디자인 할 수 있는가하는 것입니다.

  • 트리거 할 개체에 트리거를 설정해야합니까?
  • 그리고 트리거 관리자를 만들어야합니까?
  • 그리고 이러한 트리거는 어떻게 할 수 있습니까?
레기 스

문제는 일반적이기 때문에, 나는 당신에게 어떻게 순진한 생각 줄 것이다 나는 개인적으로 생각 시작할 것입니다.

게임에 이미 이벤트 관리자가 있다고 가정합니다. 여기에 등록하여 특정 이벤트 발생 알림을 수신 할 수 있습니다 ( 관찰자 디자인 패턴을 사용할 수 있음 ).

그런 다음 특정 작업을 트리거하려는 이벤트에 대한 수신자로 TriggerManager를 등록했습니다. 관찰 된 이벤트의 각 유형에 대해 TriggerManager에는 다음 두 가지가 포함됩니다.

  • 필터
  • 핸들러

필터는 이벤트가 원하는 조건 (예 : 범위 영역 내에서 이동 한 엔티티)에 맞는지 결정하는 데 사용됩니다.

이벤트가 필터를 통과하면 해당 이벤트에 대한 반응으로 처리기가 실행됩니다 (다른 엔티티 또는 시스템에 전송 된 작업 / 명령 / 이벤트).

또한, 과거의 어느 시점에서 나는 reddit (댓글 참조)에 대한 게시물읽었으며, 이 게시물 도 꽤 영감을 받았으며 다른 접근 방식을 설명했습니다.

gamedev.stackexchange.com 의 stackexchange 게임 개발자 커뮤니티에 질문 할 수도 있습니다.

이것이 당신에게 몇 가지 아이디어를 제공하기를 바랍니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

루프 엔티티 프레임 워크에서 데이터를 확인하는 방법은 무엇입니까?

분류에서Dev

Java에서 일종의 이벤트 프레임 워크를 만드는 방법은 무엇입니까?

분류에서Dev

전체를 다시 쓰지 않고 기존 프레임의 맨 아래에 데이터 프레임을 결합하는 방법은 무엇입니까?

분류에서Dev

사진 프레임 워크-PHAsset에서 이미지의 CLLocation을 얻는 방법은 무엇입니까?

분류에서Dev

사진 프레임 워크-PHAsset에서 이미지의 CLLocation을 얻는 방법은 무엇입니까?

분류에서Dev

엔티티 프레임 워크에서 테이블의 모든 레코드를 업데이트하는 방법은 무엇입니까?

분류에서Dev

Javascript (또는 프레임 워크)에서 필드의 존재를 확인하는 적절한 방법은 무엇입니까?

분류에서Dev

Python Pandas의 데이터 프레임에서 기존 쌍을 통해서만 루프를 만드는 방법은 무엇입니까?

분류에서Dev

Django : 기존 애플리케이션에 Django Rest 프레임 워크를 통합하는 방법은 무엇입니까?

분류에서Dev

엔티티 프레임 워크의 테이블에 행이 없는지 확인하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

R에서 여러 변수의 조건에 따라 기존 데이터 프레임에 새 변수를 추가하는 방법은 무엇입니까?

분류에서Dev

기존 데이터 프레임의 dtypes를 기반으로 새 데이터 프레임을 만드는 방법은 무엇입니까?

분류에서Dev

플레이 프레임 워크의 양식 도우미에서 레이블을 숨기는 방법은 무엇입니까?

분류에서Dev

기존 데이터 프레임에 값 세트를 추가하는 방법은 무엇입니까?

분류에서Dev

사용자 지정 함수를 사용하여 기존 데이터 프레임 내에서 새 이진 변수를 만드는 방법은 무엇입니까?

분류에서Dev

Wappalyzer에서 Yii 웹 프레임 워크 이름을 숨기는 방법은 무엇입니까?

분류에서Dev

엔터티 프레임 워크에서 DbContext를 식별하는 방법은 무엇입니까?

분류에서Dev

MediaCodec이 Android의 프레임 워크 내에서 코덱을 찾는 방법은 무엇입니까?

분류에서Dev

Python FBX SDK – 키 프레임이있는 모델의 크기를 조정하는 방법은 무엇입니까?

분류에서Dev

Karate 프레임 워크에서 작은 오이 현지화를 사용하는 방법은 무엇입니까?

분류에서Dev

핵심 PHP 프로젝트에서 yii 프레임 워크 프로젝트의 마스터 페이지를 사용하는 방법은 무엇입니까?

분류에서Dev

조인과 부울 검사 간의 엔티티 프레임 워크 성능 차이를 확인하는 방법은 무엇입니까?

분류에서Dev

Wordpress의 redux 프레임 워크에서 기본 테이블 wp_option을 wp_sitemeta로 변경하는 방법은 무엇입니까?

분류에서Dev

라우팅 규칙에서 Yii 프레임 워크의 정적 페이지에 링크를 추가하는 방법은 무엇입니까?

분류에서Dev

Yii 프레임 워크에서 이름 대신 사용자 ID를 얻는 방법은 무엇입니까?

분류에서Dev

엔티티 프레임 워크를 사용하지 않고 MVC4에서 편집 기능을 수행하는 방법은 무엇입니까?

분류에서Dev

로봇 프레임 워크를 사용하여 PostgreSql DB 덤프를 가져 오는 방법은 무엇입니까? 기존 키워드가 있습니까?

분류에서Dev

linq C #으로 엔티티 프레임 워크를 사용하여 두 개의 테이블 결합 레코드를 얻는 방법은 무엇입니까?

분류에서Dev

첫 번째 데이터 프레임에서 다른 데이터 프레임 기반 열 값의 합계를 얻는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    루프 엔티티 프레임 워크에서 데이터를 확인하는 방법은 무엇입니까?

  2. 2

    Java에서 일종의 이벤트 프레임 워크를 만드는 방법은 무엇입니까?

  3. 3

    전체를 다시 쓰지 않고 기존 프레임의 맨 아래에 데이터 프레임을 결합하는 방법은 무엇입니까?

  4. 4

    사진 프레임 워크-PHAsset에서 이미지의 CLLocation을 얻는 방법은 무엇입니까?

  5. 5

    사진 프레임 워크-PHAsset에서 이미지의 CLLocation을 얻는 방법은 무엇입니까?

  6. 6

    엔티티 프레임 워크에서 테이블의 모든 레코드를 업데이트하는 방법은 무엇입니까?

  7. 7

    Javascript (또는 프레임 워크)에서 필드의 존재를 확인하는 적절한 방법은 무엇입니까?

  8. 8

    Python Pandas의 데이터 프레임에서 기존 쌍을 통해서만 루프를 만드는 방법은 무엇입니까?

  9. 9

    Django : 기존 애플리케이션에 Django Rest 프레임 워크를 통합하는 방법은 무엇입니까?

  10. 10

    엔티티 프레임 워크의 테이블에 행이 없는지 확인하는 가장 좋은 방법은 무엇입니까?

  11. 11

    R에서 여러 변수의 조건에 따라 기존 데이터 프레임에 새 변수를 추가하는 방법은 무엇입니까?

  12. 12

    기존 데이터 프레임의 dtypes를 기반으로 새 데이터 프레임을 만드는 방법은 무엇입니까?

  13. 13

    플레이 프레임 워크의 양식 도우미에서 레이블을 숨기는 방법은 무엇입니까?

  14. 14

    기존 데이터 프레임에 값 세트를 추가하는 방법은 무엇입니까?

  15. 15

    사용자 지정 함수를 사용하여 기존 데이터 프레임 내에서 새 이진 변수를 만드는 방법은 무엇입니까?

  16. 16

    Wappalyzer에서 Yii 웹 프레임 워크 이름을 숨기는 방법은 무엇입니까?

  17. 17

    엔터티 프레임 워크에서 DbContext를 식별하는 방법은 무엇입니까?

  18. 18

    MediaCodec이 Android의 프레임 워크 내에서 코덱을 찾는 방법은 무엇입니까?

  19. 19

    Python FBX SDK – 키 프레임이있는 모델의 크기를 조정하는 방법은 무엇입니까?

  20. 20

    Karate 프레임 워크에서 작은 오이 현지화를 사용하는 방법은 무엇입니까?

  21. 21

    핵심 PHP 프로젝트에서 yii 프레임 워크 프로젝트의 마스터 페이지를 사용하는 방법은 무엇입니까?

  22. 22

    조인과 부울 검사 간의 엔티티 프레임 워크 성능 차이를 확인하는 방법은 무엇입니까?

  23. 23

    Wordpress의 redux 프레임 워크에서 기본 테이블 wp_option을 wp_sitemeta로 변경하는 방법은 무엇입니까?

  24. 24

    라우팅 규칙에서 Yii 프레임 워크의 정적 페이지에 링크를 추가하는 방법은 무엇입니까?

  25. 25

    Yii 프레임 워크에서 이름 대신 사용자 ID를 얻는 방법은 무엇입니까?

  26. 26

    엔티티 프레임 워크를 사용하지 않고 MVC4에서 편집 기능을 수행하는 방법은 무엇입니까?

  27. 27

    로봇 프레임 워크를 사용하여 PostgreSql DB 덤프를 가져 오는 방법은 무엇입니까? 기존 키워드가 있습니까?

  28. 28

    linq C #으로 엔티티 프레임 워크를 사용하여 두 개의 테이블 결합 레코드를 얻는 방법은 무엇입니까?

  29. 29

    첫 번째 데이터 프레임에서 다른 데이터 프레임 기반 열 값의 합계를 얻는 방법은 무엇입니까?

뜨겁다태그

보관