건물을 배경에 배치하기 위해 기준점을 아래로 설정한다.
Sprite Mode를 Single, Pivot을 Bottom 으로 변경한다.
왼쪽 위에 Center가 아니라 Pivot으로 되어있는지 확인한다.
Mover 스크립트를 만든다.
Update 메서드의 transform.position에 Vector3 값을 더하여 건물이 계속 왼쪽으로 이동하도록 한다.
추후 플랫폼과 적, 건물의 이동 속도를 동일하게 할 것이다.
Destroyer 스크립트를 만든다.
필요없는 메모리가 사용되지 않도록 오브젝트가 파괴되도록 만든다.
Mover 스크립트를 통해 왼쪽으로 움직이다가 X축 값이 -15가 되면 사라진다.
이렇게 만든 Building을 Prefab에 저장한다.
prefab은 미리 조립된 게임 객체를 의미한다.
만든 prefab을 Ctrl+D하여 Sprite 이미지만 변경하고 5개의 건물 프리팹을 만든다.
Spawner 스크립트를 만들어 public으로 GameObject 배열을 만든다.
빈 오브젝트인 Building Spawner를 만들고 인스펙터에서 방금 만든 prefab을 넣어준다.
Spawner 스크립트에 Spawn 메서드를 추가한다.
게임이 시작되면 Start 메서드에서 Spawn 메서드를 호출하여 랜덤 오브젝트를 생성한다.
이후 Invoke 함수에 의해 Spawn 메서드가 계속 호출된다.
인스펙터에서도 수정할 수 있도록 변수를 추가했다.
이제 스폰 시간의 최소값와 최대값을 정할 수 있다.
적으로 나올 Enemy에 건물과 같은 Mover, Destroyer 스크립트를 추가한다.
컴포넌트로 Rigidbody2D, Composite Collider 2D, Box Collider 2D, Capsule Collider 2D를 추가한다.
Collider의 크기를 조정하고 Composite Operation을 Intersect 로 변경한다.
교차하는 부분만 Collider 영역이 잡히는 걸 볼 수 있다.
좀 더 세밀한 Collider를 원한다면 Polygon Collider 2D 컴포넌트를 쓸 수도 있다.
점을 이동해 오브젝트 형태와 비슷한 Collider 영역을 만들 수 있다.
Composite나 Rigidbody는 사용할 필요가 없다.
플레이어와 부딪혔을 때 밀려나지 않도록 is Trigger 체크를 한다.
할머니 오브젝트에도 Mover와 Destroyer 스크립트를 추가했다.
이 오브젝트는 단순하므로 Capsule Collider 2D 컴포넌트를 추가했다.
오토바이와 똑같이 is Trigger 체크를 한다.
모두 완성했다면 Enemy를 모두 Prefab으로 저장한다.
Transform을 모두 0으로 바꾸는걸 잊으면 안된다.
방금 만든 Building Spawner를 복사하여 Enemy Spawner를 만들었다.
Game Objects를 오토바이와 할머니로 변경한다.
건물보다 늦게 나와야 하니 Building Spawner 보다 오른쪽에 배치하고, Z축 값은 20으로 했다.
이제 플레이어가 장애물과 부딪혔을 때 메서드를 만든다.
is Trigger 체크를 했기 때문에 OnTriggerEnter2D 메서드를 만들어야 한다.
(Trigger가 활성화되면 Trigger, 비활성화되면 Collision)
collision.gameObject 로 충돌한 객체를 가져와 태그를 비교한다.
Enemy, Food, Golden 태그일 경우까지 총 3가지를 만들었다.
이제 플레이어가 먹을 수 있는 아이템을 만들어야 한다.
Garlic 오브젝트에 Mover와 Destroyer 스크립트를 추가한다.
Box Collider 2D 컴포넌트를 추가하여 is Trigger에 체크하고 프리팹으로 만든다.
Garlic 프리팹을 복사하여 Gochu와 Baechu 프리팹도 만들었다.
이제 오토바이와 할머니는 Enemy 태그, 음식들은 Food 태그로 변경한다.
다른 스포너를 복사해서 Food Spawner를 만든 뒤 Game Objects에 방금 만든 음식들을 넣는다.
GoldenBaechu도 만들어서 Mover와 Destroyer 스크립트를 넣고 Box Collider 2D 컴포넌트를 넣는다.
Golden으로 태그를 설정하고 프리팹으로 만들면 이제 프리팹 준비는 끝이다.
Golden Spawner도 복사해서 만들어준다.
Game Objects에 Golden Baechu를 넣어주고 조금 늦게 나오도록 다른 스포너보다 뒤쪽으로 보냈다. (X축 값 증가)
출처: 김장 게임을 만들었다 😎 ㅋㅋ - YouTube
'유니티' 카테고리의 다른 글
[유니티6] #4 픽셀 Run 게임 만들기 (하이 스코어, 배포) (0) | 2025.01.08 |
---|---|
[유니티6] #3 픽셀 Run 게임 만들기 (플레이어 생명, 게임 매니저) (0) | 2025.01.07 |
[유니티6] #1 픽셀 Run 게임 만들기 (배경, 스크롤링, 플레이어 애니메이션) (0) | 2025.01.02 |
[유니티] 초보자를 위한 플레이어 애니메이션 만드는 과정 (0) | 2024.07.17 |
[유니티] 초보자를 위한 기본적인 배경 만드는 과정 (1) | 2024.07.12 |