2016-05-16 2 views
-1

У меня есть анимации в единстве, и в основном это показывает, Дональд Трамп бегущегоМоя анимация отстает, почему?

enter image description here

У меня тоже есть этот один кадр анимации Trump прыжки:

enter image description here

В основном, когда он прыжки, анимация прыжка играет, и когда он приземляется, анимация прогулок снова воспроизводится.

enter image description here

Это все работает, и этот код запускает его:

function Update() { 
    trump.velocity = Vector2(speed, trump.velocity.y); 
    if (jump > 0) { 
     jumpBool = true; 
    } 
    else { 
     jumpBool = false; 
    } 
    animator.SetBool("Jump", jumpBool); 

Это в сценарии физики. Тогда из мультипликатора:

enter image description here enter image description here

Это все работает, и анимации изменения, когда они должны. Проблема в том, что она отстает, прежде чем она закончится. Я думаю, что когда Trump прыгает, анимация прогулки заканчивается до того, как она переключится на анимацию перехода. Мой вопрос: как я автоматически переключаю анимацию сразу, поэтому он не будет выглядеть так лагги?

ответ

1

Вы можете сразу же вызвать анимацию перехода, которая будет воспроизводиться в точке, в которой вы делаете JumpBool = true. Для этого вам не нужно ждать завершения анимации ходьбы, она просто остановит Walk и переместится в Jump.

function Update() { 
    trump.velocity = Vector2(speed, trump.velocity.y); 
    if (jump > 0) { 
     animator.Play("Trump Jump"); 
     //jumpBool = true; 
    } 
    else { 
     //jumpBool = false; 
    } 
    //animator.SetBool("Jump", jumpBool);  

enter image description here

Вам даже не нужно установить логическое значение, после скачка анимации закончил он будет двигаться назад к Walk анимации.

enter image description here