我目前正在做一个学校项目,必须重新制作“乒乓”型游戏。我刚刚开始编码,但是到目前为止一切都进行得很顺利。但是,我在这件计分卡上卡住了。我基本上想在刷新页面时保留变量的值。我的某些代码是法语,因此是法语。 “点”基本上是分数(两个玩家所以两个不同的分数)。 “ Fin”是玩家得分的时间。另外,请不要判断我的代码,这是我正在做的第一件事:P。
由于我在编码领域是一个完整的菜鸟,因此我尝试了多种方法来在页面刷新时保留变量的值。我尝试过Cookie和本地存储。
var point1=0
var point2=0
if(balle.x+balle.w>=canvas.width){
gameOver=true
player1=true
point1++
}
if(balle.x-balle.w<=0){
gameOver=true
player2=true
point2++
}
function fin1(){
c.font="100px Impact"
c.drawImage(sas,0,0)
c.fillText("Sasuke scores!",200,100)
}
function fin2(){
c.font="100px Impact"
c.drawImage(ita,200,0)
c.fillText("Itachi scores!",200,100)
}
function restart(){
if(gameOver==true){
setTimeout("window.location.reload(false)",2000);}
}
我的重新启动功能有效,但每次页面重新加载时,它只会重置“ point1”和“ point2”变量的值。
答案 0 :(得分:1)
啊,我知道这里发生的事情至少可以通过您的查询理解:
您正在将数据设置到本地存储,但是在重置时,文件将再次运行,并将point1
和point2
的值设置为0。基本上,您不是从本地存储中获取该项目的。那么,您要问什么解决方案:编写一个If条件,如果数据存在于本地存储中,则使用它,如果不存在,则初始化为0 。
var point1 = localStorage.getItem('point1') ? localStorage.getItem('point1') : 0;
var point2 = localStorage.getItem('point2') ? localStorage.getItem('point2') : 0;
您可以从以下位置获得对localStorage的更多了解:
注意:我正在考虑您将数据(point1和point2)存储在localStorage中