我有一个统一的动画,基本上它显示了唐纳德特朗普的运行:
我也有这个特朗普跳跃的一帧动画:
基本上,当他跳跃时,跳跃动画播放,当他降落时,步行动画再次播放。
这一切都有效,而且这段代码运行它:
function Update() {
trump.velocity = Vector2(speed, trump.velocity.y);
if (jump > 0) {
jumpBool = true;
}
else {
jumpBool = false;
}
animator.SetBool("Jump", jumpBool);
物理脚本中的那个。然后从动画师那里:
这一切都有效,动画会在应有的时候发生变化。问题是,它在完成之前就滞后了。我认为当特朗普跳跃时,步行动画在切换到跳跃动画之前就完成了。我的问题是,如何立即自动切换动画,所以它看起来不那么迟钝?
答案 0 :(得分:1)
您可以立即调用Jump动画,以便在您使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);
你甚至不需要设置bool,在Jump动画结束后它会回到Walk动画。