javascript - HTML5 Canvas 文本没有出现?

标签 javascript html canvas

我意识到这是一个常见问题,但我很困惑为什么 我的代码不起作用。 这是一个link我的 fiddle 有问题。 主要问题出现在第 85-87 行,它不显示。

ctx.fillStyle = "White";
ctx.font = '80pt Helvetica';
ctx.fillText("Hello World!",100, 100);

最佳答案

好吧,您正在执行更新,然后渲染。渲染会清除 Canvas ,因此文本也会被清除。

稍微改变一下顺序即可,例如: updated fiddle

function draw() {
    ctx.fillStyle = "Black";
    ctx.fillRect(0, 0, canvas.width, canvas.height);
    if (gameState) {
        ctx.fillStyle = "White";
        ctx.fillRect(player.x, player.y, player.width, player.height);
        ctx.fillRect(ball.x, ball.y, ball.width, ball.height);
    }
    if (gameState === false) {      // draw text for example here instead
      ctx.fillStyle = "White";
      ctx.font = "bold 16px Arial";
      ctx.fillText("PONG", 100, 100);
    }
    //end of gameState
}

function game() {
    update();
    render();
}
//...
function render() {
   ctx.clearRect(0, 0, canvas.width, canvas.height);
   draw();
}

专业提示:还要考虑进行逐步调试。这在这种情况下通常很有用。

关于javascript - HTML5 Canvas 文本没有出现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29084928/

相关文章:

Javascript - window.onresize 用于捏缩放

javascript - Select2 输入框结果不改变背景颜色

Android:是否可以有多个单独的 Canvas 层,我可以将它们合并为一个?

javascript - 重新创建 Fabric.js Canvas 并导出为图像?

javascript - express-jwt 中缺少 "admin"属性

javascript - 如何将 JSON 内容放入 <ul> 标签并在 HTML 中形成

javascript - 以编程方式为 Leaflet map 上的标记提供数据属性

javascript - VueJ 中的数学计算未显示正确结果

html - CSS 背景滤镜模糊效果在 Chrome 中未对齐

javascript - HTMLCanvas 'getContext' 不是受支持的属性或方法