Я пытаюсь заставить объект в Unity2D остановиться в определенной точке.Объект остановится, но положение все равно будет больше / меньше того, что мне нужно для моей программы.Мне нужно, чтобы объект остановился в точке патрулирования, а логическое значение должно быть ложным, если объект прошел точку патрулирования.Мой код выглядит следующим образом:
private void FixedUpdate()
{
enemyLocation = GetComponent<Transform>();
Debug.Log("Enemy Location: " + enemyLocation.position.x + "Patrol Location: " + patrolList[1].position.x);
if (enemyLocation.position.x >= patrolList[0].position.x && enemyLocation.position.x <= patrolList[1].position.x)
{
inPatrolRange = true;
}
else
{
inPatrolRange = false;
}
// Used for randomness
gameTime = Time.time;
if (inPatrolRange)
{
Patrol();
}
}
Выход на консоль выглядит следующим образом:
Местоположение врага: 1.527214 Расположение патруля: 1.521
Для правильной работы моего сценарияМне нужно, чтобы расположение врага было равным местоположению патруля.Что я могу сделать, чтобы это исправить?Заранее спасибо!