В настоящее время я работаю над 2D-игрой со спрайтами и подобными вещами.
Когда я попытался перевернуть спрайт с помощью кода, я нашел что-то действительно странное, вот код:
Vector3 theScale = transform.localScale;
theScale.x = isMovingLeft ? 1 : -1;
transform.localScale = theScale;
// Same code but in one line
//transform.localScale = Vector3.right * (isMovingLeft ? 1 : -1);
Обычно, когда спрайт достигает конца списка путевых точек, он просто переворачивается в противоположном направлении.
Но если я использую одну строку, прокомментированную в коде над спрайтом, он просто исчезает (но продолжаю перевернуть в инспекторе нормально), и если я использую три строки кода (с локальной переменной), спрайт работает отлично.
Может кто-нибудь знать, почему это происходит? Это ошибка или ссылка / значение?
Спасибо:)