You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用gameOver函数时如何隐藏Score函数的分数显示?

解决游戏结束时隐藏分数的问题

你之前写的Score() = "none"是不符合JavaScript语法的——函数调用不能被赋值,而且"none"也没法直接控制Canvas元素的显示逻辑。Canvas是基于即时绘制的,要让分数不显示,核心思路是在游戏结束后不再执行Score函数里的绘制代码。

给你一个简单易懂的解决方案:

  1. 先定义一个全局状态变量,用来标记游戏是否结束:
let gameIsOver = false;
  1. 修改你的Score函数,只有当游戏未结束时才绘制分数:
function Score() {
  // 仅在游戏未结束时渲染分数
  if (!gameIsOver) {
    ctx.fillStyle = "#000";
    ctx.font = "27px Arial"; // 小提醒:你之前写的"Ariel"是拼写错误,正确字体名是Arial
    ctx.fillText ("Score: " + score, 18.89, 30);
  }
}
  1. 最后修改gameOver函数,先把状态标记为结束,再绘制游戏结束文本:
function gameOver() {
  gameIsOver = true;
  ctx.fillStyle = "#f00";
  ctx.fillText ("GAME OVER!", 424, 236.25);
}

这样调用gameOver()后,gameIsOver会变为true,后续执行Score()时就会跳过绘制分数的逻辑,自然就看不到分数了。

内容的提问来源于stack exchange,提问作者user13627411

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 19:17:36