重力模拟无法正常工作
Gravity Simulation Isn't Working Correctly
我正在尝试模拟重力之类的。我现在才刚刚开始,但我已经遇到了一个我似乎无法找到答案的问题。我正在努力做到这一点,以便我的粒子使用另一个变量通过重力变量以指数方式加速。但是当我 运行 这段代码时,它使粒子 [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);
您可能需要在设置 gravity
初始值的同时设置 parVelo = 0;
。
我正在尝试模拟重力之类的。我现在才刚刚开始,但我已经遇到了一个我似乎无法找到答案的问题。我正在努力做到这一点,以便我的粒子使用另一个变量通过重力变量以指数方式加速。但是当我 运行 这段代码时,它使粒子 [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);
您可能需要在设置 gravity
初始值的同时设置 parVelo = 0;
。