2017-11-09 2 views
0

중력과 정렬 시뮬레이션을하려고합니다. 나는 지금 막 시작하고있다. 그러나 나는 대답을 찾을 수없는 문제에 이미 마주 쳤다. 저는 입자가 다른 변수를 사용하여 중력 변수에 의해 기하 급수적으로 속도를 높이도록 노력하고 있습니다. 하지만이 코드를 실행하면 particle [0] .y = NaN이됩니다. 도움말은 매우 감사하겠습니다. 중력 시뮬레이션이 올바르게 작동하지 않습니다.

var c = document.getElementById("canvas"); 
var ctx = c.getContext("2d"); 
var gravity, objectDensity, force, parVelo; 
gravity = 9.8; 
function Object(mass, x, y, w, h) { 
    this.m = mass; 
    this.x = x; 
    this.y = y; 
    this.w = w; 
    this.h = h; 
}; 
var particle = []; 
particle.push(new Object(10,10,10,20,20)); 
function draw() { 
    parVelo += gravity; 
    ctx.clearRect(0,0,c.width,c.height); 
    for(let i = 0, len = particle.length; i < len; i++) { 
    ctx.fillRect(particle[i].x,particle[i].y,particle[i].w,particle[i].h) 
    particle[i].y += parVelo; 
} 
} 
setInterval(draw,1000); 
+1

'parVelo'에 초기 값을 설정하지 않았습니다. – James

+0

와우 ... 기본 코딩 기술. 나는 그것을 간과했다. 나는 지금 당황 스럽다. – Bestlogo56

답변

0

당신은 gravity에 대한 초기 값을 설정하는 것과 동시에 아마 parVelo = 0;을 설정해야합니다.

관련 문제