Monster M_VE - 1
Monster M_VE - 1 기본정보
요청사항
- Player가 탐색되기 전에는 Idle 상태로 애니메이션 재생
- Player가 탐색되면 Ready 상태가 되며, Monster의 HP가 0이 되기 전까지 Player를 추적하게 만들 것
필요한 변수들 선언
M_VE - 1도 MonsterBase를 상속받는데, 부모 클래스에서 선언한 변수들로만 구현해서 추가적인 선언이 필요 없었다.
기본 함수(Start, Update)
using System.Collections;
using UnityEngine;
public class M_VE_1 : MonsterBase
{
protected override void Start()
{
base.Start();
monsterType = MonsterType.M_VE_1;
StartCoroutine(MonsterRoutine());
}
// Update is called once per frame
void Update()
{
}
...
}
다른 몬스터들과 유사하게 Start와 Update를 정의했다.
코루틴 관련 함수
using System.Collections;
using UnityEngine;
public class M_VE_1 : MonsterBase
{
...
public override IEnumerator MonsterRoutine()
{
while (true)
{
if (!DetectionSuccess && DetectionPlayerPosition())
DetectionSuccess = true;
if (DetectionSuccess)
{
// Debug.Log("Player 탐지 완료");
DetectingAreaR = 15.0f;
yield return AttackPreparation();
}
yield return null;
}
}
public override IEnumerator AttackPreparation()
{
DetectionPlayerPosition();
if (!MAnimator.GetBool("Detected"))
{
MAnimator.SetBool("Detected", true);
yield return new WaitForSeconds(1.40f);
DetectingAreaR = 20;
}
// 방향 설정
SpriteFlipSetting();
rb.MovePosition(Vector3.MoveTowards(rb.position, TargetPosition, MoveSpeed * Time.fixedDeltaTime));
yield return null;
}
}
반복문을 돌면서 Player 위치 탐색 > 이동을 무한 반복한다.
워낙 단순한 로직의 몬스터라 이게 끝이다.
참고 사항
MonsterBase
[Unity] Monster Base 구현
MonsterBase의 구현프로젝트에서 몬스터를 구현을 담당하게 되어서 몬스터 스크립트의 베이스가 되는 MonsterBase를 만들어봤다. 필요한 변수들의 선언using System.Collections;using System.Collections.Generic;usin
gdoo.tistory.com
마무리하며..
이 몬스터는 M_V1보다 더 단순한 몬스터라 내용이 크게 없다.
몬스터가 추가될 때마다 게임이 기대된다.
'Unity > Hackers Window' 카테고리의 다른 글
[Unity] UI Manager 구현 (0) | 2024.11.18 |
---|---|
[Unity] Monster 구현 : M_VE - 2 (1) | 2024.11.17 |
[Unity] Monster 구현 : M_V3 (0) | 2024.11.15 |
[Unity] Monster 구현 : M_V2 (0) | 2024.11.14 |
[Unity] Monster 구현 : M_V1 (0) | 2024.11.13 |