Почему мой персонаж Unity 2D не переворачивается?

avatar
Sultan ul Arefin
9 августа 2021 в 04:57
153
1
0

Мой персонаж двигается просто отлично. Но не переворачивается. Что-то не так в моем сценарии? Я впервые разрабатываю демо-игру для практики, поэтому буду рад, если мне кто-нибудь поможет.

public class movement2 : MonoBehaviour
{
    public float speed = 100;

    void Start()
    {
    }

    void Update()
    {
        var inputX = Input.GetAxis("Horizontal");
        Vector3 movement = new Vector3(inputX, 0, 0)*speed;
        movement *= Time.deltaTime;
        transform.Translate(movement);

        Vector2 CharacterScale = transform.localScale;

        if (inputX < 0) 
        { 
            CharacterScale.x = -1;
        }

        if (inputX > 0)
        {
            CharacterScale.x = 1;
        }
    }
}
Источник

Ответы (1)

avatar
Jaimin
9 августа 2021 в 06:26
0

Поскольку вы не присваиваете значение transform.localscale, вы просто меняете локальную переменную.

    if (inputX < 0) 
    { 
        transform.localScale = new Vector3(-1, transform.localScale.y, transform.localScale.z);
    }

    if (inputX > 0)
    {
        transform.localScale = new Vector3(1, transform.localScale.y, transform.localScale.z);
    }