• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

2d wave에서 충돌처리가 안 되요

22.11.13 02:42 작성 조회수 180

1

영상에서 하라는대로 아래와 같이 장애물과 아이템에 태그도 달고(앞에 대문자 처리도 함) collider 컴포넌트도 추가하였습니다.

그리고 Player 에어리어에 isTrigger도 처리했습니다

그런데 충돌 처리가 전혀 안 됩니다. C# script는 학습자료에 있는 것 그대로 사용하였습니다.

아이템에 닿으면 아무런 변화가 없고 장애물에 닿으면 아래와 같은 에러가 발생합니다.

유니티 버전은 2021.3이라 강의 버전보다 상위 버전입니다. 혹시 버전이 달라서 그런걸 수도 있나요?

 

어떤 부분을 살펴보면 될까요?

답변 1

답변을 작성해보세요.

0

유니티 버전과 관계없습니다.

먼저 에러의 경우 NullReferenceException은 클래스 변수가 비어있을 때 뜨는 에러입니다.

stageController.GameOver(); 에서 이 에러가 뜨니

PlayerController 컴포넌트에 있는 stageController 변수가 비어있다는 뜻입니다. (P152)

 

충돌이 안되는건 PlayerController 스크립트에 있는

OnTriggerEnter2D() 메소드에서 collision.tag.Equals("Item") <= 이 부분의

"" 쌍따옴표 내부 Item 태그명을 확인해보세요

장애물은 충돌이 되는데 아이템은 충돌이 안된다면 태그에 오타가 있을 수 있습니다.