我已经尝试了几个小时如何找到我的JavaScript代码的解决方案,但我发现了很多不同的例子,但它们似乎都不适用于我的代码。
我知道我想使用目前在我的代码中的这些变量,这里是变量。
var isInGame = 0; // Not playing yet
var money = 0; // Our cash
var North = "";
var South = "";
var East = "";
var West = "";
var hasArmour = 0; // current does not own Armour
var hasWater = 0, hasSword = 0; // currently uncrowned variable changes during game play.
我知道我需要按照
的方式做点什么loadVars - >从存储读取变量 - >将其设置为变量 - >开始游戏
但我无法弄明白。在我最终放弃之前,我研究了几个小时,然后决定寻求帮助。
我尝试使用html5 localstorage但是无法解决这个问题而且我假设从cookie中加载vars是坏的
它正在使用getElementID
,因此在用户回到我的网站并重新播放时,如果在同一时间内保存变量会令人困惑,但会重新加载变量。
它使用纯JavaScript / HTML5 / CSS。
非常感谢任何帮助。
答案 0 :(得分:0)
如果您想使用localStorage保存您的值,那就像
一样简单localStorage.setItem('money', money);
以后,您可以将其检索为
var money = localStorage.getItem('money');
请记住,每个源只有10MB的本地存储空间可供使用,并且所有值都将存储为字符串。
答案 1 :(得分:0)
查看此文档:https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API
如果我是你,我会将整个游戏状态保存在某种对象中(或者在保存之前合并为一个对象),然后在尝试加载状态时将其转换为字符串表示/执行反向操作。
let gameLogic = {
meta: {
inGame: false,
},
directions: {
north: '',
east: '',
west: '',
},
character: {
money: 0,
armour: 0,
water: 0,
sword: 0,
}
};
localStorage.setItem('gameState', JSON.stringify(gameLogic));
gameLogic = JSON.parse(localStorage.getItem('gameState'));