캐릭터 오브젝트 파괴 후 발생하는 MonsterBase Null 에러 수정
This commit is contained in:
@@ -5,6 +5,17 @@ namespace TON
|
||||
public class Attack : MonoBehaviour
|
||||
{
|
||||
private MonsterBase _monsterBase;
|
||||
private GameObject target; // target 변수 선언
|
||||
|
||||
void Start()
|
||||
{
|
||||
// target 변수 초기화 (예시)
|
||||
target = GameObject.Find("TON.Player"); // Player라는 이름을 가진 게임 오브젝트 찾기
|
||||
if (target == null)
|
||||
{
|
||||
// Debug.LogError("Player not found!");
|
||||
}
|
||||
}
|
||||
|
||||
public void SetMonsterBase(MonsterBase monsterBase)
|
||||
{
|
||||
@@ -13,19 +24,25 @@ namespace TON
|
||||
|
||||
private void OnTriggerEnter2D(Collider2D other)
|
||||
{
|
||||
if (other.CompareTag("Player"))
|
||||
if(target != null) // target이 null이 아닌지 확인
|
||||
{
|
||||
_monsterBase.IsAttacking = true;
|
||||
_monsterBase.IsFinishAttack = false; // 공격 시작 시 FinishAttack 초기화
|
||||
if (other.CompareTag("Player"))
|
||||
{
|
||||
_monsterBase.IsAttacking = true;
|
||||
_monsterBase.IsFinishAttack = false; // 공격 시작 시 FinishAttack 초기화
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void OnTriggerExit2D(Collider2D other)
|
||||
{
|
||||
if (other.CompareTag("Player"))
|
||||
if (target != null) // target이 null이 아닌지 확인
|
||||
{
|
||||
_monsterBase.IsAttacking = false;
|
||||
_monsterBase.IsFinishAttack = true;
|
||||
if (other.CompareTag("Player"))
|
||||
{
|
||||
_monsterBase.IsAttacking = false;
|
||||
_monsterBase.IsFinishAttack = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -197,10 +197,13 @@ namespace TON
|
||||
public void Chasing()
|
||||
{
|
||||
var target = GameObject.Find("TON.Player").GetComponentInChildren<CharacterBase>();
|
||||
Vector2 direction = target.transform.position - transform.position; // 타겟과의 방향 계산
|
||||
_spriteRenderer.flipX = target.transform.position.x < transform.position.x; // 타겟이 왼쪽에 있으면 스프라이트를 왼쪽으로, 오른쪽에 있으면 오른쪽으로 바라보도록 설정
|
||||
if (target != null)
|
||||
{
|
||||
Vector2 direction = target.transform.position - transform.position; // 타겟과의 방향 계산
|
||||
_spriteRenderer.flipX = target.transform.position.x < transform.position.x; // 타겟이 왼쪽에 있으면 스프라이트를 왼쪽으로, 오른쪽에 있으면 오른쪽으로 바라보도록 설정
|
||||
|
||||
transform.Translate(direction.normalized * moveSpeed * Time.deltaTime); // 타겟 방향으로 이동
|
||||
transform.Translate(direction.normalized * moveSpeed * Time.deltaTime); // 타겟 방향으로 이동
|
||||
}
|
||||
}
|
||||
|
||||
public void MonsterSkillLaunch()
|
||||
|
||||
Reference in New Issue
Block a user