• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

void start() 호출 이유

21.02.07 17:17 작성 조회수 133

0

Managers mg = Managers.Instance; 

player.cs 파일에서 이 부분을 중단점으로 잡고 디버그를 해서
한줄씩 계속 진행을 해봤었는데 
mg 가 값을 받고 난 뒤
Player.Start() 구문을 빠져나간 뒤 다시 Manager.Start()로 
들어가더군요.

Player.Start()는 제가 이해하기로는 unity  ui 상에서
Player라는 컴포넌트가 있으니까 실행이 되는 걸로
이해했습니다.

그런데 Manager.Start()는 왜 다시 또 실행이 되는 건가요?

제 나름대로는 Init()에서 Manager 컴포넌트를 만들어서라고 추측 하긴 했습니다만 그렇다면 만든 지점에서
Start로 넘어가야 하는게 아닌가 해서 이해가 안됩니다.

답변 2

·

답변을 작성해보세요.

0

송유승님의 프로필

송유승

질문자

2021.02.07

감사합니다!

0

https://docs.unity3d.com/Manual/ExecutionOrder.html

당장 오브젝트를 만들었다고 바로 Start가 호출되는게 아니고,
게임 씬에 오브젝트가 배치되고 난 다음에 유니티가 호출을 해주게 됩니다.
오브젝트가 여러개가 있다면 Start 호출 순서는 또 달라질 수 있습니다.