你好
我试图为我的角色添加动画过渡,所以写了一些代码:
void Update()
{
Vector3 characterScale = transform.localScale;
if (Input.GetKey(KeyCode.A))
{
animator.SetFloat("speed", velocity);
characterScale.x = 1;
transform.Translate(Vector2.right * Time.deltaTime * velocity);
}
else animator.SetFloat("speed", 0);
if (Input.GetKey(KeyCode.D))
{
animator.SetFloat("speed", velocity);
characterScale.x = 1;
transform.Translate(Vector2.right * Time.deltaTime * velocity);
}
else animator.SetFloat("speed", 0);
if (Input.GetKeyDown(KeyCode.Space) && Cground == true)
{
rb.AddForce(new Vector2(0f, jumpheight), ForceMode2D.Impulse);
Cground = false;
}
transform.localScale = characterScale;
}
问题
我的问题是,速度参数仅适用于通过按 D 向右行走时的动画过渡。如果我然后按 A 向左行走,我的角色精灵会翻转,他会移动,但不会过渡到跑步动画。我不知道为什么,我会很高兴得到任何帮助 =)。