J'ai un petit jeu où lorsque tous les cœurs sont perdus, un bouton de réinitialisation devrait apparaître. Je n'arrive pas à comprendre pourquoi il ne s'est pas présenté. Je l'ai réécrit 3 fois en me demandant si c'était ainsi que j'avais attribué sa valeur, mais aucune n'a fonctionné. Lorsque je supprime l'instruction qui masque le bouton, le bouton apparaît, mais des instructions de validation doivent être mises en place pour le faire réapparaître.
const resetButton = document.getElementById('reset'); function reset() { location.reload(); } resetButton.addEventListener('click', reset); // Hide reset button until no hearts left function hideReset() { if (foodHeart1.src.match("images/emptyheart.png" && playHeart1.src.match("images/emptyheart.png"))) { resetButton.style.display = "visible"; } else { resetButton.style.display = "none"; } } hideReset();
J'ai essayé de le déplacer, de le placer dans une nouvelle zone, mais sans succès. Je ne sais pas comment écrire ça autrement.
Qu'est-ce qui appelle la fonction hideReset() ? S'il n'est pas appelé dans la boucle de mise à jour principale ou lors d'une collision, rien n'y arrivera. Utiliser une image pour demander si un joueur est mort est une idée intéressante, mais il serait plus efficace d'utiliser uniquement des variables.
Voici un code qui semble faire ce dont vous avez besoin :
Je ne crois pas qu'il existe style.display = "visible", mais j'espère que quelqu'un pourra me corriger si c'est faux. ( Aperçu rapide de MDN. Je l'ai configuré en ligne ici, mais vous pouvez utiliser n'importe quelle valeur appropriée pour afficher le bouton.
J'ai également utilisé l'opérateur de longueur sur la fonction match car il renvoie un tableau (pour votre instruction conditionnelle).
Comme James l'a mentionné dans les commentaires, la fonction hideReset() sera très probablement appelée lorsque vous mettrez à jour la valeur du cœur. Dans ce cas, je le mets dans une fonction qui change l'image.
Il existe de nombreuses façons d'améliorer cela, mais j'espère que cela vous permettra de surmonter les premières difficultés auxquelles vous êtes confronté