이번에는 적을 생성하는 방법을 업그레이드 해보자.
현재 적을 생성하는 좌표(Coordinate)는 배열(Array)로 만들어져서 좌표를 추가하지 못하고 정해져 있다.
이것을 좌표를 랜덤으로 추가하기 위해서는 제네릭컬렉션인 List<T>로 바꾸면 된다.
2번 줄에서 제네릭컬렉션을 사용하기 위해 네임스페이스 System.Collection.Generic을 사용한다.
12번 줄에서 List<Coordinate>로 수정한다.
EnemyRandom메서드를 위와 같이 수정한다.
52번 줄에서 SpawnEnemy 매개변수를 전달한다.
GameObject타입은 범위를 (0,2)로 지정해서 0~1개의 적을 전달한다.
좌표 위치는 Coordinates 리스트의 개수(Count)까지 중에서 랜덤으로 선택해서 그 위치를 받아 전달한다.
54번 줄에서 EnemyRandom메서드를 1초마다 반복한다.
좌표를 랜덤으로 추가하기
기존의 배열을 제네릭컬렉션으로 바꾸었다.
이번에는 이것을 이용해서 게임의 난이도를 높이기 위해 적이 죽을 때 좌표를 List<T>에 추가한다.
좌표가 많아지면 좀 더 다양한 곳에서 적이 새로 생성될 것이고 그 만큼 게임이 어려워질 수 있다.
65번 줄에서 메서드 명은 EventManager(이벤트 매니저)에서 점수를 올릴 때 만든 EnemyDies로 한다.
이 메서드도 이벤트의 구독자로 등록하기 위함이다.
67번 줄에서 좌표를 생성하고 68번 줄에서 coordinate에 Add메서드로 추가한다.
PrefabsManager의 Start() 메서드에 앞에서 만들었던 이벤트에 EnemyDies메서드를 등록하여 구독한다.
이벤트가 발생하면 좌표가 추가될 것이다.
끝.
Wraven...
'취미로 하는 게임코딩_gameCodingAsHobby > 유니티unity로 게임 만들기' 카테고리의 다른 글
유니티49_게임 제작 과정 18_저장_PlayerPrefs (0) | 2021.04.10 |
---|---|
유니티48_게임 제작 과정 17_Coroutine_IEnumerator (0) | 2021.04.08 |
유니티46_게임 제작 과정 15_점수 이벤트 (0) | 2021.04.07 |
유니티45_게임 제작 과정 14_점수 만들기 (0) | 2021.04.06 |
유니티44_게임 제작 과정 13_게임 매니저 (0) | 2021.04.06 |