多个更新脚本,不能与多个对象一起工作
本文关键字:对象 工作 一起 更新 脚本 不能 | 更新日期: 2023-09-27 18:08:02
目前我有8个对象,每个对象都有自己的更新脚本。我要做的是,让每个物体都表明它和bools
在正确的位置。如果它离开正确的位置,bool
返回到false
。
对于前两个对象,脚本工作得很好。第一个脚本是
p1, with x = -2.5, and y = -2.5.
第二个对象是
p2, with x = 0, and y = -2.5.
当他们离开这些位置时,bool
会毫无问题地变成false
。
当我讲到第三个对象时,
p3, with x=-2.5 and y=0
但是-2.5 x
, -2.5 y
显示的是true
,而应该是false
。如有任何帮助,我将不胜感激。
void Update(){
if(transform.position.x <= -2.5 && transform.position.y <= -2.5) {
p1 = true;
} else {
p1 = false;
}
}
看看你写的条件:你正在测试<= -2.5。根据定义-2.5小于或等于-2.5(在这种情况下等于),因此它将落入真实情况。如果你想让-2.5为假,就把它改成<(less than)代替<= (less or equal)。
更新:
从你的评论中我怀疑你对p3的测试是针对x <= -2.5和y <= 0如果y从0变为-2.5,第二个条件仍然成立,因为-2.5 <= 0。如果您只想测试一个正确的位置,则必须测试!=(不相等)该数字,但是这可能会导致其他问题,具体取决于您使用的数据类型。例:对于double,你可能需要测试Math.Abs(-2.5 - y) <2d * Double.Epsilon
.
有关特定外观的更多信息,例如在这里和这里。