Javascript 如何在函数中禁用函数?
我这里有一个游戏结束函数:Javascript 如何在函数中禁用函数?,javascript,function,visualization,Javascript,Function,Visualization,我这里有一个游戏结束函数: function gameOver() { ctx.fillStyle = "#f00"; ctx.fillText ("GAME OVER!", 424, 236.25); } function Score() { ctx.fillStyle = "#000" ctx.font = "27px Ariel"; ctx.fillText ("Score: " + score, 18.89, 30); } 我这里还有一个评分
function gameOver() {
ctx.fillStyle = "#f00";
ctx.fillText ("GAME OVER!", 424, 236.25);
}
function Score() {
ctx.fillStyle = "#000"
ctx.font = "27px Ariel";
ctx.fillText ("Score: " + score, 18.89, 30);
}
我这里还有一个评分函数:
function gameOver() {
ctx.fillStyle = "#f00";
ctx.fillText ("GAME OVER!", 424, 236.25);
}
function Score() {
ctx.fillStyle = "#000"
ctx.font = "27px Ariel";
ctx.fillText ("Score: " + score, 18.89, 30);
}
我想要的是,当我调用游戏结束函数时,我希望分数不可见。我该怎么做
我试过:
function gameOver() {
ctx.fillStyle = "#f00";
ctx.fillText ("GAME OVER!", 424, 236.25);
Score() = "none";
}
但是它显然不起作用,哈哈。对不起,我对这个有点陌生。我想你在gameOver函数之后调用了你的分数函数。首先调用score函数 您还可以(回答您的问题)将分数函数设置为其他值:
let Score=()=>{此处为原始Score函数体}代码>
然后在gameOver中,您可以设置:
Score=()=>{};//空函数不执行任何操作
您在这里使用的gameOver()
是更改样式和文本,然后立即调用覆盖样式和文本的Score()
。只需将其从那里移除即可:)您最好使用一个变量来保持游戏的当前状态
var state ="PLAYING";
function gameOver() {
if(state!== "PLAYING") return;
state = "GAME_OVER";
ctx.fillStyle = "#f00";
ctx.fillText ("GAME OVER!", 424, 236.25);
}
function Score() {
if(state!== "PLAYING") return;
ctx.fillStyle = "#000";
ctx.font = "27px Ariel";
ctx.fillText ("Score: " + score, 18.89, 30);
}
function playAgain() {
state = "PLAYING";
}
如果仔细观察,gameOver()
和Score()
会在不同的位置“填充文本”。OP希望在游戏结束后,删除由Score()
填充的文本。