Как отменить анимацию после того, как она была использована 1 раз? - PullRequest
0 голосов
/ 22 января 2020

Как видно из названия, я хочу отменить анимацию после того, как я атаковал один раз, и монстр потерял 10 жизней, и запустил его снова, если я атаковал снова, и монстр потерял еще 10 жизней. Я уже пытался найти ответ, но я не мог найти ничего, что работает. До сих пор мне удавалось заставить его работать при первой съемке, после того как он потерял 10 жизней и анимация переходит в режим ожидания вместо защиты анимации. Но во второй раз ничего не происходит, он просто бездействует. Код должен работать, если я что-то упустил? (Мне все еще нужно добавить код (если он работал)).

```
public GameObject monster;
private Animator anim;
public GameObject player;
private Transform player_pos;
private Target target;
private float i = 0;
private float y = 0;
// Start is called before the first frame update
void Start()
{
    anim = monster.GetComponent<Animator>();
    player_pos = player.GetComponent<Transform>();
    target = monster.GetComponent<Target>();
}

// Update is called once per frame
void Update()
{
    if(target.health <= 0)
    {
        anim.SetBool("isDead", true);
    }
    if (target.health < 100 && i<1)

    {
        anim.SetBool("isDamaged", true);
        i++;
    }
    else
    {
        anim.SetBool("isDamaged", false);
        anim.SetBool("isIdle", true);
    }
    if (target.health == 90 && y < 1)

    {
        y++;
        anim.SetBool("isDamaged", true);
    }
    else
    {
        anim.SetBool("isDamaged", false);
        anim.SetBool("isIdle", true);
    }

}

1 Ответ

0 голосов
/ 22 января 2020

Для тех, у кого возникла эта проблема, я узнал, как просто заменить тип параметра с bool на триггер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...