我正在做一个没完没了的跑步者,我希望GameObject跳一次,这时按下向上键。我的问题是,一旦我释放键,GameObject就停止跳跃,进入其默认的运行动画,而不完成跳转动画。如何让GameObject完成动画一次,然后才进入运行的动画状态。我使用的动画师,其中运行是默认动画和跳转是按下键。
请帮帮忙!
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);
}
}发布于 2015-02-10 13:49:29
是的很好的问题。转到动画器,选择从跳转回运行状态的转换箭头,并在检查器中添加退出时间条件。这样的话,只有当所有的bools都正确并且动画剪辑完成时,才会发生转换。
供参考的截图。

https://stackoverflow.com/questions/28432924
复制相似问题