я сделал ближний бой в Unity2D и добавил анимацию так же включаю её через скрипт
но, она срабатывает только 1 раз и всё и застывает , не переключаясь на даже на анимация бега ну или хотя-бы не повторяется
вот так выполнены переходы , IsAttack только в стрелке из Enemy в Attack
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Enemy : MonoBehaviour
{
private float TimeBtwAttack;
public float StartTimeBtwAttack;
public int damage;
public int healt;
public float Speed;
public GameObject Effect;
private Animator anim;
private PlayerController player;
private void Start()
{
anim = GetComponent<Animator>();
player = FindObjectOfType<PlayerController>();
}
private void Update()
{
if (healt == 0)
{
Instantiate(Effect, transform.position, Quaternion.identity);
Destroy(gameObject);
}
if(player.transform.position.x > transform.position.x)
{
transform.eulerAngles = new Vector3(0, 180, 0);
}
else
{
transform.eulerAngles = new Vector3(0, 0, 0);
}
transform.position = Vector2.MoveTowards(transform.position, player.transform.position, Speed * Time.deltaTime);
}
public void TakeDamage(int damage)
{
healt -= damage;
}
public void OnTriggerStay2D(Collider2D other)
{
if (other.CompareTag("Player"))
{
if(TimeBtwAttack <= 0)
{
anim.SetTrigger("IsAttack");
}
else
{
TimeBtwAttack -= Time.deltaTime;
}
}
}
public void OnEnemyAttack()
{
Instantiate(Effect, transform.position, Quaternion.identity);
player.ChangeHealth(-damage);
TimeBtwAttack = StartTimeBtwAttack;
}
}