1

我遇到了一个问题,我真的不知道如何用 JavaScript 编码。问题是我希望能够创建许多添加到数组中的对象。当创建对象以添加到此数组时,它们将具有“生命周期”。当这个生命周期结束时,这个对象应该从数组中删除。

我在这里尝试构建的是一个粒子系统,在该粒子系统中,在所讨论的粒子寿命到期后,粒子将从被渲染中消失。

任何对此有好主意或例子的人?

我曾考虑过使用setTimeoutsetIntervalclearInterval不确定这将如何最有效。

4

2 回答 2

1

这样的东西?

菲利克斯克林更新:

var a = [], next = function() {
    a = a.slice(0,-1);
    document.body.innerHTML += a.length + "<br />";
    if (a.length != 0)
        setTimeout(next, 100);
};
for (var i = 0; i < 100; i++) {
    a.push({hi: 1});
}
setTimeout(next, 100);​
于 2012-02-20T14:12:40.220 回答
1

您可以使用micha的代码示例。在每次调用“下一个”函数时,您都可以更新粒子的状态(位置、速度等)。您还可以跟踪粒子的创建时间,并在每次“下一次”调用时检查当前时间减去创建时间是否超过某个常数,如果超过则删除粒子。根据所需的动画质量,您可能希望减少超时之间的时间,例如setTimeout(next, 25); 祝你好运:)

于 2012-02-20T16:42:09.820 回答