多个更新脚本,不能与多个对象一起工作

本文关键字:对象 工作 一起 更新 脚本 不能 | 更新日期: 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 .

有关特定外观的更多信息,例如在这里和这里。