/ UNITY

미니게임 제작 13

앞으로는 간단한 게임들을 만들어보며 추가적인 기능에 대해 공부를 해보려한다. 간단한 것부터 만들기 시작하여 만든 결과물을 레퍼런스 하여 덩치를 조금씩 키워나가는 과정을 밟아보자. 지식이 많지 않아 부족할 수 있지만, 하는데까지 해보겠다.

현재 구상 하고 있는 것은 예전에 잠깐 화제가 되었던 모바일 게임 매직 서바이벌 과 스팀에서 최근 붐이 일었던 게임 뱀파이어 서바이벌 의 장르를 본딴 생존 서바이벌 슈팅 게임이다.

이번에는 Enemy의 종류를 하나 더 추가해서 Enemy에 따른 점수 차이가 나게 해보겠다.

game_97

Enemy01 Prefab을 복사한다. 이름은 Enemy02로 한다.

game_98

적 개체 스프라이트는 위 이미지를 사용할 것이다.

game_99

새 Prefab인 Enemy2의 속성은 인스펙터 창에서 다음과 같이 설정하였다.

game_100

EnemySpawner 게임 오브젝트의 Enemys 배열에 Enemy02 프리팹을 추가해주도록 하자.

game_101

기존에 Spawner를 이용하여 적 개체를 생성할 수 있도록 코드를 짜둔 덕분에, Enemy 프리팹을 추가하는 것만으로도 다른 적 개체를 간단하게 생성할 수 있었다. 하지만 아직 적 개체 제거와 점수 상승은 구현되지 않은 것을 확인할 수 있다.

이제, 게임 매니저의 딕셔너리에 두 번째 Enemy의 이름을 추가해보자.

void Start()
{
    score = 0;
    EnemyScoreByName = new Dictionary<string, int>();
    EnemyScoreByName.Add("Enemy01(Clone)", 10);
    EnemyScoreByName.Add("Enemy02(Clone)", 30);
}

Start 메서드의 EnemyScoreByName 딕셔너리에, Enemy02의 게임 오브젝트 이름을 Key로 30의 밸류 값을 가지는 요소를 추가한다.

game_102

이 부분 역시 코드의 딕셔너리 요소를 한 줄 추가한 것 만으로 기능 구현이 완료되었다. 흰색 적 개체(Enemy01)를 처치했을 때는 30점이, 회색 적 개체(Enemy02)를 처치했을 때는 10점이 오르는 것을 확인할 수 있다.

오늘 추가적으로 M*N 공간에서의 무한 맵 스크롤링을 구현하기 위해 정보를 찾아보았으나, 분석하는 데 시간이 오래걸렸다. 다음에 구현해보고, 포스팅하도록 하겠다.