-2
if (pool[i].alive) {
    if (pool[i].draw()) {
    pool[i].clear();
    pool.push((poolsplice(i,1))[0]);
    }
}

有一个名为 pool 的数组,如果draw()返回 true,则pool[i].clear(). 我在网上搜索,发现 clear 已被弃用,因此新的做法是使用pool[i].open();

这是我的来源。 清除方法

我正在关注本教程http://blog.sklambert.com/html5-canvas-game-the-player-ship/

我怎样才能得到相同的结果?

4

1 回答 1

1

.clear()教程中调用的方法实际上是Bullet对象中定义的自定义方法。如果您查看 的定义Bulletclear会将项目符号的值重置为默认值:

this.clear = function() {
    this.x = 0;
    this.y = 0;
    this.speed = 0;
    this.alive = false;
};

document.clear()方法与此功能无关,因此您的第一个链接在这里无关紧要。由于您是在Bullet类中自己定义方法,因此它应该没有问题。

于 2013-08-16T14:47:51.640 回答