캐릭터 오브젝트 파괴 후 발생하는 MonsterBase Null 에러 수정

This commit is contained in:
Mingu Kim
2025-02-28 16:30:59 +09:00
parent 209f2bb9f8
commit f561035b95
2 changed files with 29 additions and 9 deletions

View File

@@ -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;
}
}
}
}

View File

@@ -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()