• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

액션 실행 순서 관련 질문

21.05.07 21:58 작성 조회수 136

0

안녕하세요!

아래에 질문글들을 읽어봤는데

제가 이해한 것이 맞는지 여쭤보고 싶습니다.

OnKeyboard가 작동하기 까지의 순서가

1.

프로그램 실행과 동시에 매니저에서 Input Manager 인스턴스가 선언되면서 InputManager의 OnUpdate가 실행됨, 

2.

동시에 Player Controller 의Start() 가 실행되면서, null이였던 KeyAction에 OnKeyboard()라는 함수가 값으로 들어감(실행되진 않음)

3. 

키보드 입력이 되기 전에는  return; 에 의해서 Invoke()가 실행되지 않음.

4.

키보드 입력시 Invoke() 가 실행, 구독하고 있던  OnKeyBoard()가 실행됨 wasd가 눌리면 이동, 회전 , 다른키가 눌리면 아무일도 안일어남.

즉 요약하자면

1.InputManager OnUpdate(), PlayerController Start()가 실행

2.InputManager OnUpdate()에서 키입력을 확인

3. 어떤 키라도 입력이 된다면 Invoke()실행

4. 키가 wasd인경우 이동,회전 실행 아니면 아무일도없음

이렇게 이해했습니다.  제가 맞게 이해했나요?

답변 1

답변을 작성해보세요.

0

네 이해하신게 맞습니다.
다만 InputManager는 추후(Part7에서) 사라질 예정이니
너무 깊게 생각하지 않으셔도 됩니다.
키보드 기반 게임에선 굳이 사용할 필요 없음에도
너무 많은 혼란을 야기한 것 같아서 삭제 되었습니다.

조창훈님의 프로필

조창훈

질문자

2021.05.07

제가 아직 이벤트랑 구독에서 이해가 완벽하게 되지 않았는데, 조금 풀린 느낌입니다.

그리고, 이 게임이 아니더라도, 다른게임(다른글에서 언급하셨던 마우스 기반형게임?)을 만들 때에는 쓰일 수도 있으니 미리 공부하고 싶었습니다.

항상 친절한 답변 감사합니다