Actionscript 3.0 .... x> y> z无效

时间:2013-07-13 12:14:48

标签: actionscript-3 operators

这里可能是一个非常简单的问题,但我发现它很奇怪。幸运的是我找到了解决方法,但事实上,我所做的工作以及我在标题中所做的事情都不起作用,这让我感到困惑!

我只有一个简单的if语句...然后执行一个函数。此代码有效:

if (200 > (x-target.x) && (x-target.x) > 0)
                fireWeapon();

但这段代码没有!

if (200 > (x-target.x) > 0)
                fireWeapon();

AS3也没有给我一个错误....它只是简单地为条件

做一个if语句
if (200 > (x-target.x))

并且似乎忽略了它必须大于0的陈述。我想在将来使用更短,更具数学美观的方法,所以让我知道是否有办法做&&标志!谢谢。

1 个答案:

答案 0 :(得分:2)

if (200 > (x-target.x) > 0)代码正在运行。但你的想法是不同的。计算机,以解释一个句子。评估如下。

  

1)200> (x-target.x)如果200大于(x-target.x)则返回true,而不是false。

     

2)true(1)或false(0)> 0如果left-statement为true,则返回true,(因为1大于0)不为false。

因此,如果200大于(x-target.x),则始终返回true,而不是false。通常,计算机语言中使用的语法与数学语法不同。

您希望x> y> z必须更改为x>y && y>z && x>z

相关问题