[英]Unity 2D animation only playing when moving right
这是我第一次统一制作动画。 我正在使用一个名为“isRunning”的 boolean,它在每个用于检测输入的 if 语句下设置为 true。 这应该会触发 2D 骑士角色的 animation 运行。 但是,这仅适用于“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);
}
}
else 只连接到最后一个 if。 如果在某些情况下应该是 else if 像这样
{
direction = Vector2.zero;
if (Input.GetKey(KeyCode.W))
{
direction += Vector2.up;
animator.SetBool("isRunning", true);
}
else if (Input.GetKey(KeyCode.A))
{
direction += Vector2.left;
animator.SetBool("isRunning", true);
}
else if (Input.GetKey(KeyCode.S))
{
direction += Vector2.down;
animator.SetBool("isRunning", true);
}
else if (Input.GetKey(KeyCode.D))
{
direction += Vector2.right;
animator.SetBool("isRunning", true);
}
else
{
animator.SetBool("isRunning", false);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.