C#If语句层次结构仅在序列中(Unity)

时间:2016-08-28 01:22:02

标签: c# if-statement sequence hierarchy unity5

在Unity中,我试图在跳跃的同时为我的玩家提供速度,如果你跳中间动作,AKA继续前进。到目前为止,这是我的代码:

    if (VerVelocity != 0 || HorVelocity != 0) {
            if (Anim.GetCurrentAnimatorStateInfo(0).IsName("jump") || Anim.GetCurrentAnimatorStateInfo(0).IsName("fall")) {
                transform.Translate(Vector3.forward * VerVelocity * JumpSpeedMultiplier * Time.deltaTime);
                transform.Translate(Vector3.right * HorVelocity * JumpSpeedMultiplier * Time.deltaTime);
            }
    }

HorVelocity和VerVelocity是自上而下的,意味着Hor是左和右,而Ver是前进和后退。我遇到的问题是这些事件可以按任何顺序发生,这意味着你可以改变空中方向。如何在跳跃之前检查您是否正在跑步而不是之后?感谢您提供的任何帮助!

1 个答案:

答案 0 :(得分:0)

在动画制作工具中创建2个状态,一个用于jump,另一个用于runjump,然后将此代码设置为runjump状态。