B54. 게임 완성

·2021년 3월 20일

스테이지 관리

다음 스테이지로 넘어가는 존을 만들자.

상점 ui존에 접근햇을때와 동일하게...

  • 3d 텍스처를 선택함.

    Next 와 Stage 사이의 간격을 설정하는 값.

코드 작성


유니티 에디터 작성.


// 5초 뒤에 다음스테이지로 가기

몬스터 프리팹

코드 추가

  • 스크립트 멤버 변수임.
  • OnDamage 함수에 추가함.

    //보스 Destroy 예외처리한거 제거함.
    -> 보스도 죽음.

유니티 에디터 작업.

  • 유니티 에디터에서 4개의 몬스터마다 score 입력
  • 몬스터 4개에게 코인 3개 드래그 드롭하자.
  • 몬스터 4개의 포지션, 로테이션 모두 0,0,0 만들자
  • 프리팹에 드래그 드롭하자.

몬스터 관리

몬스터 소환되는 리스폰 존을 만들자.

  • Start Zone 을 이용해 리스폰 존을 4개 만들고, 각 모서리에 배치하자. //컴포넌트는 파티클만 남기고 모두 제거함., 하위의 text도 제거함.

어느몬스터가 얼마만큼 소환이 될지를 알기위해서 List를 사용함.

코드 추가.

프리팹은 Scene에 올라온 오브젝트에 접근할 수 없다.

  • 유니티 작업

    빈곳을 드래그 드롭하자.

  • 코드로 프리팹을 접근하는 내용이 있다면 에러가 발생한다.

예외처리하자.
//보스 체력 ui
if(boss != null)
bossHealthBar.localScale = new Vector3(boss.curHealth / (float)boss.maxHealth, 1 , 1);

  • 몬스터 생성존 4개를 모두 비활성화시키자.
    플레이어가 다음스테이지로 넘어가면 그때 활성화시키자.

  • 소환존은 스테이지 시잘할 땐 활성화, 종료되면 비활성화하자.
    코드 추가함.

  • 여기까지 한 다음에 스테이지가 0이면 InBattle 함수에서 for문이 돌지 않아서 몬스터 리스폰이 안되므로 스테이지를 10으로 바꿔서 실행해보자.
    -> 리스폰존에서 자동으로 몬스터가 생성되는 것을 확인할 수 있다.
    -> 몬스터 카운트는 아직 갱신안된다.

  • 스테이지를 클리어 하는 방법은 리스폰된 모든 몬스터를 제거하는 조건을 주도록 하자.
    소환 리스트 데이터를 만들 때 숫자까지 계산하자.

profile
🔥🔥🔥

0개의 댓글