게임개발/Unity

24-09-03 개인 프로젝트 : Geometry Survivor 03

몰록 2024. 9. 3. 17:55

전 시간에 적들을 잘 인스턴스화하는데 성공했으니 스폰 포인트를 잡아주는것부터 시작했다.

 

스포너 오브젝트의 자식노드로 point를 만들어주고 각자 x축과 y축이 10씩 차이나도록 배치했다.

 

Spawner Script

 

그리고 스폰 포인트와 스폰 쿨타임을 위해 타이머도 선언해주고

 

 

기존에 스페이스바를 누르면 실행되던 기능을 Spawn이라는 함수에 잘 집어넣어줬고, 위치도 스폰포인트중에 하나로 정의되도록 해줬다. ( 밑에 주석처리된 부분은 적의 종류가 많아질때 적을 랜덤으로 만들어주기 위해 미리 적어줬다 )

 

 

그리고 타이머 쿨이 찰때마다 적이 스폰되도록 Update에서 Spawn을 호출.

 

 

 

잘 작동한다!

다음은 이 스폰이 레벨별로 스폰율이 달라지는 로직인데, 이해하기가 조금 힘들다

 

GameManager Script

 

우선은 GamaManager에 게임 타임을 선언해주고 

 

GameManager Script

일단은 이렇게 gameTime이 흐르도록 설정해줬다.

 

Spawner Script

그리고 스포너로 다시 돌아와 레벨을 선언하고 

 

Spawner Script

레벨이 GameManager의 gameTime만큼 증가하도록 설정했다 

 

여기서 사용된 Mathf.FloorToInt는 float형인 gameTime을 level의 유형인 int값으로바꿔주기 위해 사용했는데, 뒤의 소숫점을 전부 버리고 정수만 가져와 변환한다는 뜻이라고 한다.

 

반대로 소숫점을 올리고 사용하려면 CeiltoInt 를 쓸수 있다.