@Rilawer

Как сделать атаку ИИ?

И так мой вопрос, как мне сделать атаку ИИ по триггеру.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerAttck : MonoBehaviour
{
    public Animator anim;
    public Transform attackpoints;
    public float attackRange = 1f;
    public LayerMask enemyLayers;
    public int attackDamage = 40;
    public float attackRate = 2f;
    float nextAttackTime = 1f;
    void Update()
    {
        if(Time.time >= nextAttackTime)
        if (Input.GetKeyDown(KeyCode.E))
        {
        anim.SetTrigger("Attack");
                nextAttackTime = Time.time + 2f / attackRate;
        }
    }
    void Attack()
    {

            Collider2D[] hitEnemies = Physics2D.OverlapCircleAll(attackPoint.position, attackRange, enemyLayers);


        foreach(Collider2D enemy in hitEnemies)
        {
            enemy.GetComponent<Enemy>().TakeDamage(attackDamage);
        }
        
    }
     void OnDrawGizmosSelected()
    {
        if (attackPoint == null)
            return;

        Gizmos.DrawWireSphere(attackPoint.position, attackRange);
    }
}


Вот скрипт самого игрока и его атака, по примеру этого скрипта можно сделать атаку ИИ? Я пробывал сделать новый скрипт, успеха не увидел. Есть скрипт который отнимает здоровье как вхожу в коллайдер ИИ
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class EnemyDamage : MonoBehaviour
{
    public int damage;
    public PlayerHealth playerHealth;


    private void OnCollisionEnter2D(Collision2D collision)
    {
        if(collision.gameObject.tag == "Player")
        {
            playerHealth.TakeDamage(damage);
        }
    }
}

При столковении с коллайдером то здоровье отнимается, как поставить анимацию при ударе, и саму задержку удара когда идёт анимация.
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы