인프런 커뮤니티 질문&답변
Start() 함수
해결된 질문
작성
·
180
0
강의 잘 보고 있습니다~ 이해가 안가는 부분이 있는데
Start() 함수 는 게임이 실행되면 딱 한번 실행 되는구나 하고 이해를 했습니다. 밑에 질문을 보니 Start() 함수 가 시작되는 순서는 랜덤인것 같구요.
그럼 Managers 에서의 Start() 함수보다 Player 의 Start() 함수가 먼저 출력될 경우 Instance 가 null 인 상태로
Managers mg = Managers.Instance; 가 실행돼서
Start() 함수는 딱 한번 실행되니 mg는 null 이 될 수 있는 가능성이 있는건가요?
그래서 그럴 가능성을 염려해두고 Instance 프로퍼티 안에 Init(); 를 넣어서 다른 클래스에서 사용할때마다 실행 하게끔 한건가요?
답변 1
3
Rookiss
지식공유자
맞습니다.
더 일반적으로 말씀드리면 Start는 일단 GameObject를 만들어서
Component로 붙이고 Scene에 배치해야 실행됩니다.
현재 구조에서 가장 먼저 배치하는 것은 Scene 스크립트이고
이 아이가 나머지 애들을 불러 오고, 그 과정에서 Managers.Instance를 처음 사용하게 되는데
초기화가 아직 안 되어 있다면 한 번 해주는 것입니다.





