Unity/베어유 : 어몽어스 개발 노트
[23강] 킬 퀘스트 만들기 : 쿨타임
서니션
2023. 1. 26. 22:30

먼저 쿨타임을 표시해줄 UI 만들기
버튼-텍스트
PlayerCtrl.cs 수정
리소스 캐릭터에 Text_cool 넣어주기
스크립트 넣는 것보다 실행 버튼을 먼저 눌러서 엇갈렸는지
자꾸 Null이라고 떴음.. 재실행했더니 됐다! ㅠㅠ

Create Empty로 SpawnPoint를 만들고
NPC의 위치를 0 0 0으로 수정한 다음
SpawnPoint채로 복사해서
npc 10마리 아무데나 지정

하이어라키 창에서 원하는 거 검색하면 그거만 볼 수 있음
npc하나만 리소스로 가져오고 다 지워줌
KillCtrl.cs 작성
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using UnityEngine;
public class KillCtrl : MonoBehaviour
{
public Transform[] spawnPoints;
List<int> number = new List<int>();
// 초기화
public void KillReset()
{
number.Clear(); // 비워주기
for (int i = 0; i < spawnPoints.Length; i++)
{
if (spawnPoints[i].childCount != 0)
{
Destroy(spawnPoints[i].GetChild(0).gameObject);
}
}
NPCSpawn();
}
// NPC 스폰
public void NPCSpawn()
{
int rand = Random.Range(0, 10);
for (int i = 0; i < 5;)
{
// 중복되었다면
if (number.Contains(rand))
{
rand = Random.Range(0, 10);
}
// 중복되지 않았다면
else
{
number.Add(rand);
i++;
}
}
// 스폰
for (int i = 0; i < number.Count; i++)
{
Instantiate(Resources.Load("NPC"), spawnPoints[number[i]]);
}
}
}

킬 화면 시작하면
랜덤으로 NPC가 생기고 KILL 버튼 쿨타임과 쿨타임이 지나면 버튼 활성화 되는 것 확인!

5초 쿨타임, NPC 중복없는 랜덤 배치를 배워보았다
강의를 다 듣고 미션과 킬을 다 합쳐 게임을 만들어보면 좋겠다는 생각이 들었다.