2016-09-29 65 views
-2

我有兩個對象名爲ballground,我試圖找到它們之間的最大距離,但爲什麼greatest的值總是「undefined」?爲什麼輸出不確定?

下面的代碼:

var dt: Array = []; 
var greatest = 0; 
var i: int; 
var j: int; 
ball.addEventListener(Event.ENTER_FRAME, bg); 
function bg(event: Event) { 
    d = Math.sqrt(ball.x - ground.x) * (ball.x * ground.x) + (ball.y - ground.y) * (ball.y - ground.y); 

    for (i = 1; i < 1002; i++) { 
     dt[i] = d; 
    } 
    for (j = 1; j < 1002; j++) { 
     if (dt[j] > dt[j + 1]) { 
      greatest = dt[j]; 
     } else { 
      greatest = dt[(j + 1)]; 
     } 
    } 
} 

回答

1

我不知道該代碼是好還是什麼呢應該做的!然而,這裏就是爲什麼greatest的值總是undefined

第一for循環,dt陣列中的1範圍內的要素分配給1001,與d價值!

在你的第二個for循環的每次迭代,你比較兩個相等的值,因此>比較失敗和流程執行else聲明分配greatestdt[(j+1)]結果裏面的指令。然而,在最後一次迭代中(當j等於1001時)執行相同的例程,但是這次dt[(j+1)]的表達式計算爲dt[1002],它是undefined(記住「定義的」元素駐留在範圍11001 :)

相關問題