Estoy creando un juego de navegador con clicker y quiero poder guardar el progreso. Sé cómo usar el almacenamiento local, pero me pregunto cuáles son los mejores métodos para almacenar diferentes objetos, variables y elementos si se han creado.
Sé cómo usar el almacenamiento local, pero lo que estoy tratando de averiguar es si hay una mejor manera que simplemente decir setItem para cada cosa. Y, entonces, ¿cómo lidiaría con hacerlo con objetos frente a variables?
Estaba mirando el GitHub de un cuarto oscuro del juego para ver cómo era uno allí. No he trabajado con jquery en absoluto, pero parece que hay muy poco código para guardar información, y no entiendo muy bien cómo lo hace.
Estoy tratando de mejorar como programador, y en lugar de pasar por "fuerza bruta", con mucho código, estoy tratando de encontrar mejores formas de escribirlo, hacerlo más eficiente y no escribir la misma función repetidamente. .
No tengo un fragmento ya que es mucho código, obviamente no busco que escribas el código, ¡solo busco métodos para guardar mejor estos diferentes tipos de datos! Cualquier ayuda sería apreciada, ¡gracias!
Puede guardar su gameState actual en un objeto, luego usar JSON.stringify para almacenarlo en localStorage. Luego, cuando desee cargarlo nuevamente, use JSON. JSON.parse para convertirlo en un objeto nuevamente y de ahí obtendrá todos sus valores.
const saveState = { level: 5, charName: 'John Doe', age: 10, wealth: { money: 5, debt: -4 }, inventory: ['shovel', 'stick', 'fish'] }; const saveStateString = JSON.stringify(saveState); localStorage.setItem('saveState', saveStateString); const loadSaveStateString = localStorage.getItem('saveState'); const loadSaveState = JSON.parse(loadSaveStateString);Nota: el almacenamiento local está deshabilitado, en el navegador funciona bien
saveGame = function(id){ let file = { score: 110, palyer: 'player1' // ... }; localStorage.setItem(`saveGame${id}`,JSON.stringify(file)); }; loadGame = function(id){ var file = JSON.parse(localStorage.getItem('saveGame22')); let score = file.score; let player = file.player; // ... };