这里可能是一个非常简单的问题,但我发现它很奇怪。幸运的是我找到了解决方法,但事实上,我所做的工作以及我在标题中所做的事情都不起作用,这让我感到困惑!
我只有一个简单的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的陈述。我想在将来使用更短,更具数学美观的方法,所以让我知道是否有办法做&&标志!谢谢。
答案 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
。