Soy nuevo en la codificación y estoy tratando de hacer un juego en javascript. No sé por qué mi botón HTML no llama a mi función javascript. Intenté mover el botón al final del código, lo probé con diferentes funciones, busqué en algunos sitios de referencia y no puedo entender por qué no funciona. Aquí está mi botón:
let waveActive = false; let waveNumber = 0; let enemyCount = 4; let enemyAmount = 0; let enemyHealth = 30; function newWave() { enemyCount + 25 % Math.floor(enemyCount); enemyHealth + 10 % Math.floor(enemyHealth); } function startWave() { waveNumber + 1; waveActive = true; newWave() class enemySpawn { main(Stringargs) { int(i = enemyAmount) while (i < enemyCount) { Enemy = new component(30, 30, "purple", 10, 120); enemyAmount + 1; } } enemyAmount = 0; } } <div name="buttonDiv"> <button type="button" id="startRoundBtn" onclick=startWave();>Start Round</button> </div>Trate de incrementar su número de onda. waveNumber + 1 no cambiará la propiedad.
waveNumber += 1;Aquí también (junto con otros lugares):
function newWave() { enemyCount = enemyCount + 25 % Math.floor(enemyCount); enemyHealth = enemyHealth + 10 % Math.floor(enemyHealth); }El otro problema es la definición de su clase dentro de su controlador de clics.
Probablemente no necesite la función main . Parece que quieres algo más como esto.
class EnemySpawn { constructor(...args) { // do stuff here } } enemyAmount = 0; // not sure if you even want to reset this... while (enemyAmount < enemyCount) { const enemy = new EnemySpawn(30, 30, "purple", 10, 120); enemyAmount += 1; }Pruébelo en la etiqueta Script en html, debería funcionar. El siguiente código está funcionando para mí :)
<div name="buttonDiv"> <button type="button" id="startRoundBtn" onclick="startWave();"> Start Round </button> </div> <script> let waveActive = false; let waveNumber = 0; let enemyCount = 4; let enemyAmount = 0; let enemyHealth = 30; function newWave() { enemyCount + 25% Math.floor(enemyCount); enemyHealth + 10% Math.floor(enemyHealth); } function startWave() { waveNumber + 1; waveActive = true; newWave() class enemySpawn { main(Stringargs) { int(i = enemyAmount) while (i < enemyCount) { Enemy = new component(30, 30, "purple", 10, 120); enemyAmount + 1; } } enemyAmount = 0; } } </script>