Сравнить Voctor.y - PullRequest
       13

Сравнить Voctor.y

0 голосов
/ 03 мая 2020

Эй, я сравниваю 2 Vector.y's, но он не работает!

Вот код:

print(last.y + " == " + controller.transform.position.y);
if (last.y == controller.transform.position.y)

Печать: 0,7999999 == 0,7999999

Ответы [ 2 ]

0 голосов
/ 03 мая 2020

В зависимости от того, насколько вы хотите, вы также можете сделать:

// If absolute difference between last y and controller pos y is less than 0.0001
if (Mathf.abs(last.y - controller.transformer.position.y) < 0.0001f) {
// do something
}
0 голосов
/ 03 мая 2020

Вы сравниваете числа с плавающей запятой. Получить их ровно сложно. Unity показывает только ограниченное количество десятичных знаков в редакторе. Попробуйте округлить числа. https://docs.unity3d.com/ScriptReference/Mathf.Round.html

Т.е.:

float randomNumber = 2.543686;

randomNumber = Mathf.Round(randomNumber * 100.0) / 100.0;

вернет 2,54

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...