¿Cómo matar la bala después de una cierta cantidad de tiempo o cierta distancia? Estoy usando JavaScript y Phaser 3 .
if (keyA.isDown && time > lastFired || isDown && time > lastFired) { var bullet = bullets.create(player.x , player.y, 'bullet'); bullet.setVelocity( -800, 0); lastFired = time + 90; }Si fuera después de un tiempo, podrías hacer algo como esto. (aquí algunos detalles más de los Documentos:de los Documentos )
Pero para ser honesto, no sé si esto afectará el rendimiento o no.
... // the 500 ist the timeout in ms this.time.delayedCall(500, () => bullet.destroy(); ....O puedes usar un evento de tiempo
this.time.addEvent({ delay: 500, callback: ()=>{ bullet.destroy() }, loop: false }); para destruir a distancia: dependiendo si es una bala o muchas. podría agregar la bala a un group y verificar la distancia en la función de update , y está demasiado lejos para destruirla.