Actionscript 3 Can';t使用比较运算符检测AS3中的位置

Actionscript 3 Can';t使用比较运算符检测AS3中的位置,actionscript-3,if-statement,Actionscript 3,If Statement,我在屏幕顶部做了5个“结束区”,只是它们根本没有被检测到。在占领该区域后,该区域将被锁定 像safeX()这样的函数使xsafe变量等于1,这样它们将在获取变量后停止工作,但只有最后一行是跟踪。它们是预先确定的位置,所以它应该工作,但它总是跳到最后一个“else”。我不知道该如何更改此代码,它在程序中的其他地方工作,但不在这里: if (-5 > man.x && man.x > 25) { if (onesafe == 0) { safeOn

我在屏幕顶部做了5个“结束区”,只是它们根本没有被检测到。在占领该区域后,该区域将被锁定

像safeX()这样的函数使xsafe变量等于1,这样它们将在获取变量后停止工作,但只有最后一行是跟踪。它们是预先确定的位置,所以它应该工作,但它总是跳到最后一个“else”。我不知道该如何更改此代码,它在程序中的其他地方工作,但不在这里:

if (-5 > man.x && man.x > 25) {
    if (onesafe == 0) {
        safeOne();
        trace("1 done")
    } else {
        deadMan();
        trace("1 full")
    }
} else if (55 > man.x && man.x > 85) {
    if (twosafe == 0) {
        safeTwo();
        trace("2 done")
    } else {
        deadMan();
        trace("2 full")
    }
} else if (115 > man.x && man.x > 145) {
    if (threesafe == 0) {
        safeThree();
        trace("3 done")
    } else {
        deadMan();
        trace("3 full")
    }
} else if (175 > man.x && man.x > 205) {
    if (foursafe == 0) {
        safeFour();
        trace("4 done")
    } else {
        deadMan();
        trace("4 full")
    }
} else if (235 > man.x && man.x > 265) {
    if (fivesafe == 0) {
        safeFive();
        trace("5 done")
    } else {
        deadMan();
        trace("5 full")
    }
} else {
    deadMan();
    trace("last row");
}

这是正在运行的脚本3

它跳到最后一个
否则
,因为所有条件都是不可能的。我想你有一些
man.x
,或者
man.x
是否小于
-5
。然后检查
man.x>25
。此变量不能同时小于-5和大于25

也许你的意思是说
if(-5


如果(man.x>-5&&man.x<25)
,写这篇文章的方法会更清晰。在比较中将变量放在常数之前时,可以更容易地看到这样的错误。

这是什么语言…?动作脚本3,我在问题标题中写了AS3,也值得将其标记为这样。好的,感谢解释它的信息哦。。。我从程序的另一部分复制了代码,但在我更改了数字后,我没有检查它们。。。谢谢你的帮助。我想我是对的,我想这太让我困惑了,我把这些标志弄错了