저번 포스트에서 타임어택을 설정하였습니다.
[Unity] 2D 미로찾기 게임 만들기 #04 - 타임어택 적용하기
이전 포스터에서는 타일맵 스프라이트를 조정하여 오류를 잡았었습니다. [Unity] 2D 미로찾기 게임 만들기 #03 - 타일맵 스프라이트 크기 조정지난 포스트에서 플레이어 조작법에 대해 알아보았습
hya68.tistory.com
이번에는 클리어 조건 중 하나인 키 획득 설정을 추가하려고 합니다.
제가 만들 미로찾기의 클리어 조건은 2가지입니다.
1. 정해진 수량의 키 획득 (전부 얻지 못하면 끝나는 지점에 도착해도 클리어 불가)
2. 제한 시간 내에 클리어 (타임어택)
타임어택은 만들었으니 이제 키 획득에 관한 설정을 만들어 봅시다.
위의 사진처럼 맵에서 키를 획득하면 아래 키 그림이 채워지는 방식입니다.
변수명
- 맵에 나타나는 키 이미지 : KeyItem
- 맵 아래에 나타나는 비어있는 키 카운트 : KeyCount
- 맵 아래에 나타나는 채워진 키 카운트 : KeyCountFull (비활성화)
플레이어와 키 이미지 충돌 처리
먼저 맵에 나타나는 키 이미지에 충돌 처리를 적용하기 위해 circle collider2D를 적용시킵니다.
그 후 스크립트를 통해 충돌 처리를 적용시킵니다.
충돌 처리를 위해 OnTriggerEnter2D 메소드를 사용합니다.
위의 Key 스크립트를 모든 키 오브젝트에 추가합니다.
플레이어가 맵 밖으로 나가는 걸 막기 위해 box collider2D가 적용된 오브젝트를 배치했습니다.
따라서 플레이어는 맵 안에서의 키하고만 충돌 처리가 일어납니다.
여기까지 하셨을 때 게임 플레이 화면입니다.
맵에서 플레이어가 키를 획득하면 키 이미지가 사라지는 것이 확인되었습니다.
이제 맵 아래의 키 카운트를 적용시키겠습니다.
키 획득 시 카운트 적용
저는 시작 지점에서 가까운 순으로 키 순서를 정했습니다.
카운트 또한 해당 키 순서에 맞게 채워질 예정입니다.
즉, 만약 플레이어가 KeyItem2를 획득한다면
KeyCount2는 비활성화, KeyCountFull2는 활성화되는 것을 구현하면 됩니다.
KeyCountFull 이미지들이 비활성화되어 있기 때문에 스크립트에서 직접 이미지를 찾는 것은 불가능합니다.
따라서 부모 폴더를 활용하여 코드를 작성하면 아래와 같이 잘 동작하게 됩니다.
'Project > MyCat(미로찾기)' 카테고리의 다른 글
[Unity] 2D 미로찾기 게임 만들기 #07 - 시작 화면 연결(씬 전환) & 버튼 활성화 (0) | 2024.08.26 |
---|---|
[Unity] 2D 미로찾기 게임 만들기 #06 - 클리어 처리 (0) | 2024.08.26 |
[Unity] 2D 미로찾기 게임 만들기 #04 - 타임어택 적용하기 (0) | 2024.08.20 |
[Unity] 2D 미로찾기 게임 만들기 #03 - 타일맵 스프라이트 크기 조정 (0) | 2024.08.02 |
[Unity] 2D 미로찾기 게임 만들기 #02 - 플레이어 조작 (0) | 2024.08.01 |