Ich habe Probleme, Sprites in Phaser zu zerstören.Zerstöre Sprites in Phaser
Ich habe ein JavaScript-Objekt, nennen wir es Block. Block hat eine Sprite-Eigenschaft, die wie so gesetzt wird:
this.sprite = this.game.add.sprite(this.x, this.y, 'blocks', this.color);
An einem bestimmten Punkt in meinem Code, Block wird durch zwei verschiedene Arrays referenziert:
square[0] = Block;
destroy[0] = Block;
auf einem bestimmtes Update() Zyklus, ich brauche das Sprite zu zerstören, so verwende ich den folgenden Code:
square[0].sprite.destroy(true); //Destroy the sprite.
square[0] = null; //Remove the reference.
auf dem nächsten Update() Zyklus, wenn ich zerstören suchen [0], ich erwarten würde, um zu sehen:
destroy[0].sprite: null
aber was ich sehe ist:
destroy[0].sprite: b.Sprite
Mit den Eigenschaften nur Verzug geraten und auf false gesetzt. Meine Sorge ist, wenn ich jetzt zerstören [0] auf Null setzen würde, was wird mit diesem Sprite-Objekt passieren?
Wird es einfach herumschweben oder wird es automatisch gereinigt? Soll ich das Block-Objekt zuerst auf irgendeine Weise zerstören? Auch, wenn der Verweis durch die destroy() nicht aufgehoben wird, wie unterscheidet es sich von kill()?
Alle Gedanken zu der Sache werden sehr geschätzt.
Der Garbage Collector it up reinigen, wenn es keinen Hinweis darauf ist. – Oriol
Wenn Sie gefunden haben, was Sie gesucht haben, akzeptieren Sie bitte eine Antwort. –