강의

멘토링

로드맵

Inflearn brand logo image

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

전하늘님의 프로필 이미지
전하늘

작성한 질문수

[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)

Stage 분할

44강 Stage 분할 Cannot Find 에러 관련

해결된 질문

작성

·

38

0

image.pngimage.pngimage.png

 

3맵으로 넘어가면서 Stage 로드 언로드 봐보려다가 에러 발생하고 있었습니다.

맵 배치가 조금이라도 겹쳐있어야 에러가 안뜰것 같더라고요.

 

image.png

실제로 0번 -> 2번 stage 처럼

2번 -> 3번 stage를 겹쳐서 테스트해보니깐 에러가 안뜨네요

 

update에서 CheckMapChanged로 stage index를 찾는데 에러면 return -1을 넘기지만 이에대한 예외처리가 안돼서 에러가 많이 뜨다가 유니티가 튕겼던 상황이 있어서 공유드립니다.

image.png

 

image.png

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

전하늘님께서 겪고 있는 “Cannot Find CurrentMapZone” 에러는 맵의 위치 설정과 관련이 있는 것으로 보입니다. 제공하신 정보를 기반으로 몇 가지 해결 방안을 제안드리겠습니다.

  1. 스테이지 겹침 확인:

    • 각 스테이지가 정확하게 겹쳐 있는지 확인해 보세요. 테스트에서 스테이지를 겹쳤을 때 문제가 해결되었다고 하신 부분을 보면, 스테이지 간의 연결이 중요한 것 같습니다.
  2. 에러 핸들링 추가:

    • GetStageIndex 함수에서 -1을 반환할 경우를 대비하여 OnMapChanged 함수 내 적절한 에러 처리 로직을 추가해 보세요. 예를 들어, newMapIndex-1인 경우 예외 상황을 처리하도록 하는 로직이 필요합니다.
  3. 맵의 정확한 범위 설정:

    • 각 스테이지의 정확한 좌표 범위가 설정되어 있는지 확인하세요. IsPointInStage 함수가 정확히 작동하려면 각 스테이지의 좌표 범위가 올바르게 설정되어야 합니다.
  4. 디버깅:

    • Unity의 디버그 기능을 활용하여 각 스테이지의 좌표를 콘솔에 출력해보며 어떤 스테이지가 문제를 일으키고 있는지 디버깅해보세요. 이를 통해 문제의 근본적인 원인을 더 쉽게 찾을 수 있습니다.

위 방법들이 전하늘님의 문제가 해결하는 데 도움되길 바랍니다. 추가 질문이 있다면 언제든지 말씀해 주세요. 감사합니다.

이미지 출처:
- 에러 로그 이미지: 링크
- 코드 스니펫 이미지: 링크

전하늘님의 프로필 이미지
전하늘

작성한 질문수

질문하기