Soy nuevo en la codificación y hoy, durante unos días, he intentado codificar un juego de clicker simple que tiene un contador, básicamente todo lo que tenías que hacer era hacer clic en la imagen para aumentar tu número de xp y después 25 número de xp obtienes 1 recuento de muertes, probé el elemento de almacenamiento local y obtuve el elemento, están funcionando sin problemas, sin embargo, después de actualizar la página y luego hacer clic en la imagen nuevamente, el contador se restableció desde 1. Probé algunos delgados
<html> <head> <title> Menggokil Adventure </title> </head> <body> <p>XP: <span id="XP">0</span></p> <p>KillCount <span id="KillCount">0</span></p> <img src="gokil.jpg" height="256px" width="256px" onclick="addToXP (1)"> <br> <button onclick="SAVE()">Save Game Gokil ini</button> <button onclick="LOAD()">Load Game Gokil ini</button> </body> </html> <script> var XP= 0 , checkXP; var KillCount=0; function addToXP(amount) { XP = XP + (amount) document.getElementById("XP").innerHTML = XP; killCount(); } function SAVE() { localStorage.setItem("XP", XP); console.log('XP', XP); localStorage.setItem("killcount", KillCount); console.log("killcount" , KillCount) } function LOAD() { var XP = localStorage.getItem("XP"); var KillCount = localStorage.getItem("killcount"); document.getElementById("XP").innerHTML = XP; document.getElementById("KillCount").innerHTML = KillCount; console.log("killcount", KillCount) } function killCount() { if(XP % 25 === 0) { KillCount++ document.getElementById("KillCount").innerHTML = KillCount; } function checkXP() { var XP = checkXP("XP"); } if (XP == "checkXP") { XP = "checkXP" setCookie("CheckXP", XP); } return parseInt(XP); } </script>gs sin embargo, todavía estoy perdido ya que soy nuevo, ¿alguien puede darme algunas pistas para este problema?
Como se indica en los comentarios, formularé una respuesta.
Si desea utilizar los contadores definidos globalmente (como XP o killCount ) incluso después de LOAD() , debe sobrescribir las variables. Esto es posible si accede a ellos desde la función LOAD() . Lo que está haciendo es definir nuevas variables locales dentro del contexto LOAD() . Para anular los valores dentro de las variables definidas globalmente, omita la palabra clave var de las variables XP y killCount y asegúrese de que la variable leída del localContext se analice correctamente como un número.
function LOAD() { XP = parseInt(localStorage.getItem("XP")); KillCount = localStorage.getItem("killcount"); document.getElementById("XP").innerHTML = XP; document.getElementById("KillCount").innerHTML = KillCount; console.log("killcount", KillCount) }Esto debería ponerte al día.