Phaser.js: 如何获取或移除一个场景中的所有精灵
Phaser.js: How to get or remove all sprites in one scene
我过去常常通过将它们推入 Phaser 内置 class 的数组或精灵组来处理一组精灵。但我正在寻找另一种简单的方法来获取或删除场景中的所有精灵。有没有人有解决这个问题的想法?非常感谢!
场景有 属性 children
(link to documentation)
您可以获得所有精灵,使用命令:
// where this = the current scene
let allSprites = this.children.list.filter(x => x instanceof Phaser.GameObjects.Sprite);
然后 remove/destroy 全部,像这样:
allSprites.forEach(x => x.destroy());
只是遍历精灵列表,并对每个对象调用 destroy
函数。
我过去常常通过将它们推入 Phaser 内置 class 的数组或精灵组来处理一组精灵。但我正在寻找另一种简单的方法来获取或删除场景中的所有精灵。有没有人有解决这个问题的想法?非常感谢!
场景有 属性 children
(link to documentation)
您可以获得所有精灵,使用命令:
// where this = the current scene
let allSprites = this.children.list.filter(x => x instanceof Phaser.GameObjects.Sprite);
然后 remove/destroy 全部,像这样:
allSprites.forEach(x => x.destroy());
只是遍历精灵列表,并对每个对象调用 destroy
函数。