2013-07-13 98 views
1

這裏可能是一個非常簡單的問題,但我覺得很奇怪。幸運的是,我發現了一種解決方法,但是我所做的工作以及我在標題中所擁有的功能都不起作用,這讓我非常困惑!Actionscript 3.0 .... x> y> z不工作

我只是有一個簡單的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的聲明。我想在未來使用更簡短,更具數學優勢的方法,所以讓我知道是否有辦法解決簽名問題!謝謝。

回答

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語句爲true返回true,(因爲1大於0)不爲false。

因此,如果200大於(x-target.x)總是返回true,而不是false。通常,計算機語言中使用的語法與數學語法不同。

而且您想要x> y> z必須更改爲x>y && y>z && x>z

+0

謝謝,很好的解釋=) – spaderdabomb