我想为我的Achievements类中的一个值实现localStorage。所以基本上这个类所做的是从后端数据库获取玩家数据,并且如果玩家清除了某些任务,成就就会被解锁。现在我刚刚1绩效定义如下如何实现javascript localStorage
成就:{1:{名称: 'First_Achievement',状态:1}},
状态字段行为像我的成就的标志。如果状态是1,那么成就仍然被锁定,如果它变为0,成就将被解锁。
这是我的成就获得解锁时的骨架代码。这个代码块在我的游戏每10秒进行检查,看是否有特定的任务被清零解锁成就
checkAchievements:function(){
this.probsSolved = this.getTeamProbSolved();
if(this.Achievements[1].status == 1 && this.probsSolved.length >=3)
this.triggerAchievement(1); // spawns achievement 1 on screen
this.Achievements[1].status = 0;
},
所以,当我运行游戏能正常工作。 “this.Achievements [1] .status”被设置为0,直到我下次再次开始我的游戏。它将“this.Achievements [1] .status”设置回1,并且if循环再次运行,因为状态设置为1,我不想这样做,因为它显而易见,我希望我的成就只会被生成或显示一次,不是每次运行游戏。
那么在这里怎么去一个实现localStorage?我想我需要在localStorage中存储我的“Achievements.status”字段,以便if循环只运行一次而不是每次运行。或者还有其他方法可以实施吗?
我尝试以下
localStorage.setItem(this.Achievements [1] .STATUS,0);
,但它不工作
任何帮助,将不胜感激!谢谢!
如果您不反对使用第三方脚本:http://www.jstorage.info/ –