강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

조영웅님의 프로필 이미지
조영웅

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

Singleton 패턴

Start() 함수

해결된 질문

작성

·

180

0

강의 잘 보고 있습니다~ 이해가 안가는 부분이 있는데 

Start() 함수 는 게임이 실행되면 딱 한번 실행 되는구나 하고 이해를 했습니다.  밑에 질문을 보니 Start() 함수 가 시작되는 순서는 랜덤인것 같구요.

그럼 Managers 에서의 Start() 함수보다 Player 의 Start() 함수가 먼저 출력될 경우 Instance 가 null 인 상태로

Managers mg = Managers.Instance;  가 실행돼서 

Start() 함수는 딱 한번 실행되니 mg는 null 이 될 수 있는 가능성이 있는건가요? 

그래서 그럴 가능성을 염려해두고 Instance 프로퍼티 안에 Init(); 를 넣어서 다른 클래스에서 사용할때마다 실행 하게끔 한건가요? 

답변 1

3

Rookiss님의 프로필 이미지
Rookiss
지식공유자

맞습니다.

더 일반적으로 말씀드리면 Start는 일단 GameObject를 만들어서
Component로 붙이고 Scene에 배치해야 실행됩니다.

현재 구조에서 가장 먼저 배치하는 것은 Scene 스크립트이고
이 아이가 나머지 애들을 불러 오고, 그 과정에서 Managers.Instance를 처음 사용하게 되는데
초기화가 아직 안 되어 있다면 한 번 해주는 것입니다.

조영웅님의 프로필 이미지
조영웅

작성한 질문수

질문하기