Unity 2D翻转水平位置问题

时间:2019-06-08 05:46:26

标签: unity3d 2d scale flip

首先对不起我的英语;有没有更准确的方法来更改角色所在的比例?如您所见,当比例改变时,字符的位置也会改变。不固定。

我的翻转代码;

    if (MoveInput > 0)
    {
        gameObject.transform.localScale = new Vector3(1, transform.localScale.y, transform.localScale.z);
    }
    else if (MoveInput < 0)
    {
        gameObject.transform.localScale = new Vector3(-1, transform.localScale.y, transform.localScale.z);
    }

2dgif

2 个答案:

答案 0 :(得分:1)

我相信这是因为您没有正确设置精灵枢纽。
转到精灵,单击“精灵编辑器”,然后将轴(蓝色圆圈)移动到图像的中心。

gif

答案 1 :(得分:0)

尝试

if(MoveInput > 0)
{
    gameObject.GetComponent<SpriteRenderer>().flipX = false;
}
else if(MoveInput < 0)
{
    gameObject.GetComponent<SpriteRenderer>().flipX = true;
}

SpriteRenderer Component