Estoy tratando de implementar un mecanismo de disparo como en el original.
No sé cómo saber si solo existe un proyectil y cuándo sale de la pantalla superior para que el jugador pueda disparar de nuevo.
if (gameArea.key === "Space") { playerProjectile = new component(2, 7, "white", player.x + player.width /2, player.y); playerProjectile.speedY = +2;Inicializo un nuevo componente cuando el jugador presiona la barra espaciadora. Necesita verificar si todavía hay un proyectil en la pantalla y si ha salido de la pantalla.
Aquí está mi función componente:
function component(width, height, color, x, y) { this.width = width; this.height = height; this.speedX = 0; this.speedY = 0; this.x = x; this.y = y; this.update = function () { ctx = gameArea.context; ctx.fillStyle = color; ctx.fillRect(this.x, this.y, this.width, this.height); } this.playerNewPos = function () { this.x += this.speedX; if (this.x < 0) { player.x = 0; } else if (this.x > gameArea.canvas.width - player.width) { player.x = gameArea.canvas.width - player.width; } } this.playerProjectileNewPos = function () { this.y -= this.speedY; }