重力模拟不能正常工作

时间:2017-11-09 18:04:50

标签: javascript arrays html5 simulation

我正在尝试模拟重力和排序。我刚刚开始,但我已经遇到了一个问题,我似乎无法找到答案。我试图通过使用另一个变量的重力变量使我的粒子以指数方式加速。但是当我运行这段代码时,它会使粒子[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 个答案:

答案 0 :(得分:0)

您需要在设置parVelo = 0;的初始值的同时设置gravity