2015-02-10 77 views
0

我正在制作一个无尽的转轮,并且我希望GameObject在按下向上键时跳转一次。我的问题是,只要我释放键,游戏对象停止跳跃,并进入其默认动画运行,而不完成跳转动画。我怎样才能让GameObject完成一次动画,然后才能进入正在运行的动画状态。 我正在使用animator,其中Running是默认动画,Jump是按下按键。仅在完成前一个动画之后才播放默认动画

请帮忙!

void moveNinja() 
{ 
    if ((Input.GetKey(KeyCode.W))) 
    { 
     animator.SetBool("jump", true); 
     animator.SetBool("run", false); 
     animator.SetBool("slide", false); 
    } 
    if ((Input.GetKey(KeyCode.S))) 
    { 
     animator.SetBool("slide", true); 
     animator.SetBool("run", false); 
     animator.SetBool("jump", false); 
    } 
    if (Input.GetKeyUp(KeyCode.S)) 
    { 
     animator.SetBool("run", true); 
     animator.SetBool("slide", false); 
     animator.SetBool("jump", false); 

    if (Input.GetKeyUp(KeyCode.W)) 
    { 
     animator.SetBool("run", true); 
     animator.SetBool("slide", false); 
     animator.SetBool("jump", false); 
    } 
} 
+0

下面的答案有帮助吗?请打勾接受作为回答 – 2015-02-10 14:07:52

回答

2

是的好问题。 转到您的动画师,选择跳转到运行状态的跳转箭头,并在巡视员中添加退出时间条件。这种方式只有在所有bools都正确并且动画剪辑完成时才会发生。

截图仅供参考。

enter image description here

+0

是用代码打破了我的头。谢谢大家 – chintan 2015-02-10 14:08:32

+0

欢迎您。通过使用这个,你应该在动画师中拥有很好的动画流 – 2015-02-10 14:11:18

相关问题