У меня возникли проблемы с уничтожением Sprites в Phaser.
У меня есть объект JavaScript, позвольте ему заблокировать его. Блок имеет свойство sprite, которое устанавливается следующим образом:
this.sprite = this.game.add.sprite(this.x, this.y, 'blocks', this.color);
В какой-то момент моего кода на блок ссылаются два разных массива:
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. Мое беспокойство заключается в том, что если я должен теперь уничтожить [0] до нуля, что произойдет с этим объектом спрайта?
Будет ли он просто плавать или будет автоматически очищаться? Должен ли я сначала уничтожить объект Block? Кроме того, если destroy() не обнуляет ссылку, как она отличается от kill()?
Будем очень благодарны за любые мысли по этому поводу.