Unity 2D动画仅在向右移动时播放

时间:2020-05-31 19:21:50

标签: c# unity3d animation sprite

这是我第一次实现团结一致。我正在使用一个名为“ isRunning”的布尔值,该布尔值在用于检测输入的每个if语句下均设置为true。这应该触发2D骑士角色的动画运行。但是,这仅适用于“ d”键,不适用于其他任何键(wa和s)。 这是代码:

private void TakeInput()
    {
        direction = Vector2.zero;

        if (Input.GetKey(KeyCode.W))
        {
            direction += Vector2.up;
            animator.SetBool("isRunning", true);
        }
        if (Input.GetKey(KeyCode.A))
        {
            direction += Vector2.left;
            animator.SetBool("isRunning", true);
        }
        if (Input.GetKey(KeyCode.S))
        {
            direction += Vector2.down;
            animator.SetBool("isRunning", true);
        }
        if (Input.GetKey(KeyCode.D))
        {
            direction += Vector2.right;
            animator.SetBool("isRunning", true);
        }
        else 
        {
            animator.SetBool("isRunning", false);
        }
    }

enter image description here

1 个答案:

答案 0 :(得分:0)

else仅连接到最后一个if。在某些情况下应该是这样,

sorted(list, key=itemgetter(3), reverse=True)