【发布时间】:2019-03-05 14:11:17
【问题描述】:
我试图让 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
为了让我的脚本正常工作,我需要enemyLocation 等于巡逻位置。我能做些什么来解决这个问题?提前谢谢!
【问题讨论】:
标签: c# unity3d boolean operators