이제 메인 시스템인 작물을 만들어 보자.
작물은 우리가 미리 만들어 둔 맵 중에 흙 타일에만 생성되게 해볼것이다.
그럼 일단 흙 타일을 감지하는 방법을 알아보자.
일단, Ground를 Ctrl + D를 눌러 객체 하나를 복사해주자.
그리고 복사된 객체를 비활성화 처리 해주었다. (두개 같은거라 헷갈리기 때문이다.)
그리고 원래 Ground를 눌러서 원래 있던 흙 타일을 풀 타일로 교체해주자.
이렇게 해두고, 비활성화 한 다음, 복사해둔 객체를 다시 활성화 시키면 이렇게 된다.
원래 있던 흙 타일이 생긴걸 알 수 있다.
이전에 원본은 비활성화 해뒀으니, 이 Ground복사본에서는 풀 타일을 전부 지워주자. (헷갈린다면 그릴 타일맵만 따로 활성화해두고 그리면 편하다.)
이렇게 흙만 남겨두고 다 지워주자.
그리고 백그라운드의 타일맵을 전부 켜주면 이렇게 된다.
이렇게 나온다.
이전의 타일들이 다 사라져있는데 이건 SortingLayer를 설정 안해줘서 그렇다.
이렇게 우리가 타일맵을 구성하는것을 세개로 나눴고, 따로 이름을 Ground, Soli, Flower로 설정했다. (이름이 다르다면 바꿔주자.)
Ground는 0, Soil는 1, Flower는 2로 설정해주자. 수가 높을수록 위로 올라온다.
설정해주면 이렇게 표시된다.
이렇게 해준 이유는 따로 있는데 맵을 만들때 필요한 콜라이더가 있기 때문이다.
이렇게 아까 만들어둔 Soil에 Tilmap Collider 2D를 붙여주자. 플레이어가 걸어다녀야하는곳이니깐, 콜라이더 그 자체인 벽 처리가 아니라 통과되는 처리가 될 수 있게 IsTrigger를 체크해줘야한다. 그리고, 확인해보면
이렇게 타일맵에 콜라이더가 붙어있는걸 확인할 수 있다.(혹시 안보인다면 위의 빨간 동그라미를 눌러 기즈모를 켜주자.)
그리고, 하나 더 추가해야되는건, Soil의 Tag를 추가해주자.
이렇게 테그를 추가해주고,
Soil의 테그를 Soil로 변경해주자.
이제, 플레이어가 잘 감지하는지 한번 확인해보자.
다음 코드를 추가하자.
//테그 확인
private void OnTriggerStay2D(Collider2D other) {
//아이템 습득
if(other.tag == "Item"){ //태그 확인
//중략
}
//토양 체크
if(other.tag == "Soil"){
print("soil");
}
}
밑의 토양 체크 부분을 작성한 후, 게임을 실행해보자.
잘 뜨는걸 확인할 수 있다.
이제 다음엔 토양에 심을 작물을 세팅해보자.
'Develop > 마음대로 만드는 게임' 카테고리의 다른 글
[NProject] 마음대로 만드는 게임 - 14. 슬롯 수정3 (0) | 2024.05.22 |
---|---|
[NProject] 마음대로 만드는 게임 - 13. 슬롯 수정2 (0) | 2024.05.21 |
[NProject] 마음대로 만드는 게임 - 12. 슬롯 수정 1 (1) | 2024.05.20 |
[NProject] 마음대로 만드는 게임 - 11. 인벤토리 기능 추가 (0) | 2024.05.20 |
[NProject] 마음대로 만드는 게임 - 10. 아이템을 만들어 보자! 4 (0) | 2024.05.20 |