Ho problemi a distruggere gli sprite in Phaser.Distruggi gli sprite in Phaser
Ho un oggetto JavaScript, chiamiamolo Blocco. Block ha una proprietà sprite, che viene impostato in questo modo:
this.sprite = this.game.add.sprite(this.x, this.y, 'blocks', this.color);
Ad un certo punto nel mio codice, Block si fa riferimento due diverse matrici:
square[0] = Block;
destroy[0] = Block;
su un ciclo di certo Update(), ho bisogno di distruggere lo sprite, quindi sto utilizzando il seguente codice:
square[0].sprite.destroy(true); //Destroy the sprite.
square[0] = null; //Remove the reference.
al ciclo successivo aggiornamento(), quando guardo distruggere [0], mi sarei aspettato di vedere:
destroy[0].sprite: null
Tuttavia quello che sto vedendo è:
destroy[0].sprite: b.Sprite
con le proprietà solo in default e impostata su false. La mia preoccupazione è che se dovessi impostare destroy [0] su null, cosa succederà a quell'oggetto sprite?
Verrà semplicemente spostato o verrà ripulito automaticamente? Devo prima distruggere l'oggetto Block in qualche modo? Inoltre, se destroy() non sta annullando il riferimento, in che modo è diverso da kill()?
Ogni pensiero in merito sarà molto apprezzato.
Il garbage collector pulirà in su, se non v'è alcun riferimento ad esso. – Oriol
Se hai trovato quello che cercavi, ti preghiamo di accettare una risposta. –