ⓐ 3 종류의 몬스터를 생성
ⓑ 랜덤한 위치에서 몬스터가 떨어짐
ⓒ 각 종류마다 랜덤한 크기의 몬스터를 생성
ⓒ 각각의 몬스터마다 점수를 다르게 셋팅
몬스터를 먼저 만들어 보도록 하자
하이어라키 창 오른쪽클릭 - 2D Project - Sprites - circle
새로 생성시킨 게임 오브젝트의 이름과 이미지를 설정
몬스터에게 중력을 부여하기 위해 Unity에서 준비 해 놓은 기능을 활용하자
Add Component - rigidbody 2D
물리에 필요한 힘들 - 중력, 무게, 마찰력 설정 가능
파이터에 애니메이션을 입힌 방식과 동일하게 붉늑에게도 애니메이션 컴퍼넌트를 추가
몬스터가 떨어지는지 영상을 통해 확인해 보자
몬스터가 그라운드에 부딪혔을 때 멈추지 않고 뚫고 지나가는 현상을 제어하기 위해서
Add component - Circle Collider 2D
피해자인 그라운드에도 컴퍼넌트를 추가해줘야 한다.
Add component - Box Collider 2D
몬스터가 그라운드에 부딪히면 멈추는지 확인해 보자
이렇게 rigidbody와 collider와 같은
게임엔진을 이용하면 우리가 따로 코드로 구현하지 않아도 손쉽게 컴퍼넌트로 구현이 가능하다.
이제 몬스터가 그라운드에 닿았을 때 멈춰있는 것이 아니라 파괴하기 위한 스크립트를 구현해야 한다.스크립트를 생성후 이름을 정해 보자
oncolli 만 입력했는데 자동입력칸이 보인다.
OnCollisionEnter2D 더블 클릭
충돌현상은 이 코드 안에 입력하면 된다.
보통 On이라 하면은 "어떤 이벤트 및 현상이 발생했을 때" 라고 생각하면 된다.
Collision은 충돌, Enter는 순간
테스트를 위해서 충돌이라는 텍스트가 뜨는지 간단한 코드를 넣어 보자
땅에 닿았을 때 몬스터를 파괴하라는 로직을 넣어 보자
If(Collision.gameObject.name == "Ground")
-> 만약에 충돌한다면 게임오브젝트가 "Ground"라는 것에
Destroy(this.gameObject);
-> 파괴해라 이 게임오브젝트를
그런데 만약에 게임오브젝트 Ground의 이름이 바뀌게 되면 로직은 작동하지 않게 될 것이다.
Ground 게임 오브젝트에 들어가서 Tag를 달아 주자
태그를 달아 줬으므로 이렇게 코드를 입력할 수도 있다.
동일한 방법으로 푸늑과 주늑도 만들어 놓자
'Unity > Knowledge' 카테고리의 다른 글
⑤ 몬스터 구현하기 - 랜덤 몬스터 (0) | 2024.03.28 |
---|---|
④ - Q&A (0) | 2024.03.28 |
③ - Q&A (0) | 2024.03.28 |
③ 캐릭터 이동하기 (0) | 2024.03.27 |
② 애니메이션 맛 보기 (0) | 2024.03.27 |