본문 바로가기

카테고리 없음

Unity 플레이어 포션 아이템을 사용 스크립트

728x90

public class EnemyAI : MonoBehaviour
{
    public float chaseRange = 10f;
    public float attackRange = 2f;
    public float moveSpeed = 5f;
    public int damage = 10;
    public LayerMask playerLayer;

    private Transform player;
    private CharacterController controller;

    private void Start()
    {
        player = PlayerManager.instance.player.transform;
        controller = GetComponent<CharacterController>();
    }

    private void Update()
    {
        float distanceToPlayer = Vector3.Distance(transform.position, player.position);

        if (distanceToPlayer < chaseRange)
        {
            Vector3 direction = player.position - transform.position;
            direction.y = 0f;
            direction.Normalize();

            controller.Move(direction * moveSpeed * Time.deltaTime);

            if (distanceToPlayer < attackRange)
            {
                Attack();
            }
        }
    }

    private void Attack()
    {
        PlayerManager.instance.player.TakeDamage(damage);
    }

    private void OnDrawGizmosSelected()
    {
        Gizmos.color = Color.red;
        Gizmos.DrawWireSphere(transform.position, chaseRange);

        Gizmos.color = Color.yellow;
        Gizmos.DrawWireSphere(transform.position, attackRange);
    }
}

 

 

chaseRange 변수는 적이 플레이어를 추적하기 시작하는 거리
attackRange 변수는 적이 플레이어를 공격하기 시작하는 거리
moveSpeed 변수는 적의 이동 속도
damage 변수는 적의 공격력
playerLayer 변수는 플레이어를 감지하기 위한 레이어
Start 메소드에서 플레이어와 캐릭터 컨트롤러를 초기화
Update 메소드에서 적이 플레이어를 추적, 일정 거리 안에 들어오면 공격
Attack 메소드에서 플레이어 캐릭터의 TakeDamage 메소드를 호출하여 데미지를 입힘
OnDrawGizmosSelected 메소드는 Scene 뷰에서 Gizmo를 그려주는 역할

Unity Plus:
https://prf.hn/click/camref:1101lvV9r/destination:https://store.unity.com/products/unity-plus

Unity Pro:
https://prf.hn/click/camref:1101lvV9r/destination:https://store.unity.com/products/unity-pro

Unity Learn Premium:
https://prf.hn/click/camref:1101lvV9r/destination:https://unity.com/learn-premium

Asser Store Partners
 https://assetstore.unity.com/lists/asset-store-partners-6?aid=jinbeon-pyeon 

Asset Store
 https://assetstore.unity.com/top-assets/top-new?aid=jinbeom-pyeon

728x90