我无法在 Phaser 中销毁 Sprite。
我有一个 JavaScript 对象,我们称之为 Block。Block 有一个 sprite 属性,设置如下:
this.sprite = this.game.add.sprite(this.x, this.y, 'blocks', this.color);
在我的代码中的某个点,Block 被两个不同的数组引用:
square[0] = Block;
destroy[0] = Block;
在某个 Update() 循环中,我需要销毁精灵,所以我使用以下代码:
square[0].sprite.destroy(true); //Destroy the sprite.
square[0] = null; //Remove the reference.
在下一个 Update() 循环中,当我查看 destroy[0] 时,我希望看到:
destroy[0].sprite: null
但是我看到的是:
destroy[0].sprite: b.Sprite
属性刚刚默认并设置为false。我担心的是,如果我现在将 destroy[0] 设置为 null,那个 sprite 对象会发生什么?
它会漂浮还是会自动清理?我应该先以某种方式破坏 Block 对象吗?此外,如果destroy() 没有将引用归零,它与kill() 有何不同?
对此事的任何想法将不胜感激。