안녕하세요?


그간 이래저래 심적으로 많이 고민을 해야 했는 일이 있어서 한동안 유니티5의 독학을 안 하다가, 그래도 하던 일을 마무리 하기 위해서 [유니티 5.x와 함께하는 C#첫걸음] 이라는 책의 최종 장에 들어갔습니다. 여기서는 하이 스코어를 위해서 한번 동전을 모아야 하는데, 이 동전을 구현하고 점수를 올려 주는 것이 이번 챕터13의 목적입니다.



먼저 미리 준비가 되어 있는 Coin이라는 유니티 패키지를 가지고 오도록 합니다.



그냥 이번에도 시원하게 모두 임포트 하도록 합니다.



이렇게 하자, Coin프리펩이 생성된 것을 볼 수 있습니다.




다음으로는 계층뷰로 Coin프리펩으로 끌어 당겨서 게임 오브젝트로 만들도록 합니다.



그 다음에 여기서 헷갈렸는데, 아까처럼 계층뷰로 끌어당긴 게임 오브젝트가 아니라, 프로젝트 뷰에 있는 Coin프리펩을 선택한 다음에 위 스크린샷처럼 CircleCollider2D라는 컴포넌트를 추가해 주도록 합니다.



그리고 나서 위 스크린샷처럼 설정을 해 주도록 합니다.




다음으로는 Collectable.cs라는 C#스크립트를 생성한 다음에, 내용을 작성하도록 합니다.



우선 노트북이 고장나는 바람에 옛날 노트북에서 Visual Studio 2017을 가지고서 코딩을 했는데 그럭저럭 제대로 되는 것을 확인할 수 있었습니다. 간단합니다. 동전을 나타나게 할 때와 감추는 때에 각각 GetComponent<>()라는 명령을 이용해서 제대로 컴포넌트를 가지고 오고, 그 다음에는 enabled를 true나 false로 바꾸도록 명령할 수 있습니다.



다음으로는 Coin프리펩을 다시 선택하도록 합니다.




여기서 조금 헷갈린 흔적이 나오는데, 우선 Collectable.cs라는 스크립트를 인스펙트 뷰에서 추가해 주도록 합니다.


 

그리고 CircleCollider2D도 제대로 있는지를 확인해 보도록 합니다.



여기서는 간단하게도 Floor몇몇개에 자식 오브젝트가 되도록 프리펩을 강제로 자식 게임 오브젝트로 만들어 주기만 했습니다.



이렇게 하는 것으로 일단 동전을 추가했고, 닿으면 사라지는 것 까지는 구현을 하는 데 성공했습니다. 그러나 여전히 점수가 올라가지 않는 것을 볼 수 있는데, 이건 아직 관련된 스크립트를 작성하지 않아서 생기는 문제입니다. 그래서 이 문제를 해결하기 위해서는 계속해서 실습을 이어가야 겠습니다.

+ Recent posts

티스토리 툴바