【问题标题】:Gravity Simulation Isn't Working Correctly重力模拟无法正常工作
【发布时间】:2017-11-09 18:04:49
【问题描述】:

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

【问题讨论】:

  • 您没有为parVelo设置初始值
  • 哇...基本的编码技术。我真的忽略了这一点。我现在有点尴尬。

标签: javascript arrays html simulation


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-02
    • 1970-01-01
    • 1970-01-01
    • 2013-02-18
    • 2020-08-14
    • 2015-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多