Unity 2D Flip Проблема горизонтального положения - PullRequest
1 голос
/ 08 июня 2019

сначала извините за мой английский;Есть ли более точный способ изменить масштаб, в котором находится персонаж?Как вы можете видеть, когда масштаб изменяется, положение персонажа меняется.Не исправлено.

мои флип-коды;

    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 ]

1 голос
/ 08 июня 2019

Я полагаю, что это происходит из-за того, что у вас неправильно настроены опорные точки спрайта.
Перейдите к спрайту, нажмите Редактор спрайтов и затем переместите свои опорные точки (синие кружки) в центр изображения.

gif

0 голосов
/ 08 июня 2019

Попробуйте

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

Компонент SpriteRenderer

...