• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

Manager에서 싱글톤 작성했는데.. 에러가 발생하네요.

21.04.26 14:28 작성 조회수 505

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.

- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

이러 상황은 다음과 같습니다. null reference.

코드는 몇번이고 확인 했는데..

여기 11번째 줄은 정확히 작성된 듯해서 문의 드립니다.

확인 부탁드립니다.

답변 4

·

답변을 작성해보세요.

1

우선 완전 동일한 환경에서 학습이 필요하시다면,
위 강의를 참고 바랍니다.
(원작자에게 문의 메일을 보내놓은 상태입니다.)

두번째로 에셋이 바뀌더라도 코드가 바뀌는 것이 아니라서,
처음 하더라도 충분히 따라할 수 있는 난이도입니다.
실제로 마음에 드는 다른 몬스터를 다운받아 실습을 하는 분들도 있고,
그 과정에서 중간에 막히더라도 질문은 받습니다.

그리고 언젠가 스스로 게임을 만들게 되더라도
온갖 에셋을 다운로드 받아서 조립을 해야 하는 상황이 오기 때문에
미리 연습삼아 해보는 것도 나쁘지 않습니다.



0

그리고 처음하는 사용자 용인데. 마지막 미니 RPG게임에서 에셋스토어에 에셋이 없습니다. 

내용중에 비슷한거 알아서 하라는 식으로 말씀하시는데, 처음하는 사람이 하는 건데.. 그걸 어떻게 알아서 하는지 궁금하군요.

알아서 할 정도면.. 처음 부터가 아니라.. 중금 부터 시작하겠죠?

0

1)
우선 이유와 상관없이, 고민해도 버그 해결이 안되는 경우 직접 코드를 봐드립니다.
다만 위와 같은 부분 스샷으로는 원인을 알 수 없기에
rookiss@naver.com로 전체 프로젝트 압축 후 보내주시면 되겠습니다.

2)
두 번째로 위 문제는 에셋이나 유니티 버전 문제가 아니라 순전히 코드 문제입니다.

11번 줄 자체의 문제가 아니라 Init() 함수 내부에서 s_instance = 무엇무엇;
으로 세팅하는 부분이 누락되었거나, 오타를 내었을 것으로 추측됩니다.

참고로 중간 중간 풀소스를 업로드 해놨으니 비교해서 볼 수 있습니다.
위 화살표 아이콘을 누르시면 됩니다.

Init() 내부를 확인해보시고, 다른 점이 없다면
메일로 전체 프로젝트 보내주시면 살펴보겠습니다.

0

NULL 크래시는 빈번하면서도 잡기 쉬운 편에 속하니
디버깅 연습이라고 생각하시고 풀어보시기 바랍니다.

어떤 객체가 null인지 breakpoint를 잡아보면 바로 알 수 있는데,
위 코드에서 아마도 Init()하는 부분에서 s_instance가 세팅이 안되는 것으로 예상됩니다.

제가 얘기하고자 하는 것은 강사님꺼 따라서 했는데, 안되다는거고.. 초기화 할 부분이 어디에 되어야 하는지가 빠져 있는 건데, 그런건 봐줘야 하는게 아닌가요?