当不再按下按钮时,动画将继续运行

时间:2019-06-22 18:43:24

标签: c# unity3d

整数值仍为1,动画继续运行。 我不知道怎么了。

动画师:

AnyState->跳转(条件:“跳转”等于1)

跳转->过渡(条件:“跳转”等于0)

有退出时间=未锁定

我尝试将键码和GetKey更改为GetKeyDown仍然不起作用。

预期结果:跳跃= 0

//6 Jumping Animation
if (Input.GetKey(KeyCode.Space))
{
        anim.SetInteger("Jumping", 1);
        moveDir.y = 2;
        moveDir = transform.TransformDirection(moveDir);

    }
if (Input.GetKeyUp(KeyCode.Space))
{
    anim.SetInteger("Jumping", 0);
    movementSpeed = 5f;

}

1 个答案:

答案 0 :(得分:0)

让我回答我自己的问题:D

跳跃状态正在等待玩家再次触地。 因此,如果您使用GetKeyUp。而是动画有退出时间,或者动画没有正确开始,因为当播放器仍在播放时,跳跃键向上移动。 因此,修复起来很简单。等待几秒钟,然后关闭动画。

这是代码:

this.setState({content: obj}, () => {
   console.log(this.state.content);
})

就这样