目前我有8个对象,每个对象都有自己的更新脚本。我正在尝试做的是让每个对象显示它位于bools
的正确位置。如果它离开正确的位置,则bool
会返回false
。
对于前两个对象,脚本运行良好。 第一个脚本是
p1, with x = -2.5, and y = -2.5.
第二个对象是
p2, with x = 0, and y = -2.5.
当他们离开这些职位时,bool
更改为false
,没有任何问题。
然后当我到达第3个对象时,
p3, with x=-2.5 and y=0
但它显示true
-2.5 x
的{{1}},-2.5 y
,false
。任何帮助将不胜感激。
void Update(){
if(transform.position.x <= -2.5 && transform.position.y <= -2.5) {
p1 = true;
} else {
p1 = false;
}
}
答案 0 :(得分:1)
看看你写的条件:你正在测试&lt; = -2.5。根据定义,-2.5小于或等于-2.5(在这种情况下相等),因此它将属于真实情况。如果你想-2.5是假的改变它&lt; (小于)而不是&lt; =(小于或等于)。
<强>更新强>
你发表评论我怀疑你对p3的测试是针对x&lt; = -2.5而y&lt; = 0
如果y从0变为-2.5,则第二个条件仍然为真,因为-2.5&lt; = 0.如果您只想测试一个正确的位置,则必须测试!=(不等)该数字,但这可能会导致其他问题取决于您使用的数据类型。例如。对于double,你可能需要测试Math.Abs(-2.5-y)&lt; 2d * Double.Epsilon
。