2016-09-29 3 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

내가 그 코드에 대한 좋은 또는 어떤이는 어떻게해야 무엇을하는지 아무 생각이 :

여기에 코드입니다!

첫 번째 for 루프, d의 값으로, 10011의 범위에서 dt 배열의 요소를 할당 : 그러나 greatest의 값은 항상 undefined 이유, 여기! 두번째 for 루프의 매 반복에서

, 넌 따라서 > 비교는 실패하고 흐름 dt[(j+1)] 결과와 greatest 할당하기 else 문 안에 명령어를 실행하고, 동일한 두 값을 비교한다. 그러나 마지막 반복에서 ( j1001 일 때), 동일한 루틴이 수행되지만, 이번에는 dt[(j+1)]의 표현이 undefineddt[1002]으로 평가됩니다 ("정의 된"요소는 1 ~ 1001 :

관련 문제