如何在 unity 2d 中翻转复合字符?

How to flip a composite character in unity 2d?

我真的需要 Unity 2D 方面的帮助。目标是让玩家在向左走时翻转,在向右走时向后翻转。网上有很多选项如何通过精灵渲染来做到这一点。但问题是我的角色由部分组成,因为动画是骨骼。每个部分都可以翻转。当您在对象本身的精灵渲染中打开翻转时,没有任何效果。问题是如何让整个人物一下子妙不可言?如果没有,如何分部分进行?

你应该通过比例翻转,它会影响 docs 中也提到的所有 components.It。

正如 oistikbal 所说,使用这样的缩放:

void Update()
{
    if (Input.GetKeyDown(KeyCode.A))
    {
        transform.localScale = new Vector3(-1, 1, 1); ;

    }

    if (Input.GetKeyDown(KeyCode.D))
    {
        transform.localScale = new Vector3(1, 1, 1); ;

    }
}

当按下 A/D 时,比例会改变,因此字符会翻转。

我相信您对教程中的 Input.GetAxisRaw ("Horizontal") 很熟悉。 Return 最简单的字符:

var xAxis = Input.GetAxisRaw("Horizontal");

if (xAxis != 0) transform.localScale = new Vector3(xAxis, 1, 1);

在这个脚本中,如果 Axis 不为 0(没有按下键或停止按下),则设置精灵的 ScaleX 等于 xAxis 方向。