"절대강좌! 유니티5"
책에 나왔있는 그대로 MonsterCtrl 스크립트를 구현했습니다
오탈자는 없는거 같구요..
그리곤 실행해보니 몬스터가 계속 idle 상태로 가만히있고
player를 추적하거나 공격하지않습니다 ㅠㅠ
어찌된일인지..
물론 이리저리 움직여서 몬스터 코앞까지 가봤습니다만
using UnityEngine;
using System.Collections;
public class MonsterCtrl : MonoBehaviour {
public enum MonsterState { idle, trace, attack, die };
public MonsterState monsterState = MonsterState.idle;
private Transform monsterTr;
private Transform playerTr;
private NavMeshAgent nvAgent;
public float traceDist = 10.0f;
public float attackDist = 2.0f;
private bool isDie = false;
// Use this for initialization
void Start () {
monsterTr = this.gameObject.GetComponent ();
playerTr = GameObject.FindWithTag (“Player”).GetComponent ();
nvAgent = this.gameObject.GetComponent ();
StartCoroutine (this.CheckMonsterState ());
StartCoroutine (this.MonsterAction ());
}
IEnumerator CheckMonsterState()
{
while(!isDie)
{
yield return new WaitForSeconds (2.0f);
float dist = Vector3.Distance (playerTr.position , monsterTr.position);
if (dist <= attackDist)
{
monsterState = MonsterState.attack;
}
else if (dist <= traceDist)
{
monsterState = MonsterState.trace;
}
else
{
monsterState = MonsterState.idle;
}
}
}
IEnumerator MonsterAction()
{
while (!isDie)
{
switch (monsterState){
case MonsterState.idle:
nvAgent.Stop();
break;
case MonsterState.trace:
nvAgent.destination = playerTr.position;
nvAgent.Resume();
break;
case MonsterState.attack:
break;
}
yield return null;
}
}
}
ㄴ ㅠㅠ 고수님 부디 잘못된 점을 찾아주시옵소서
http://colorscripter.com/
조공짤로 성의를 보여야지
몬스터가 감기 걸렸을 꺼야!(=..=;)감기조심
http://lgstar.tk
커뮤니티 사이트 입니다 많은 이용 부탁 드립니다. - DCW