首次加载时绘制到画布失败。刷新它的工作原理

时间:2013-07-25 13:05:19

标签: javascript canvas

这是我的功能。

drawButtons: function() {
    gameController.ctx.strokeStyle='pink';
    gameController.ctx.fillStyle='rgba(128,128,128,1)';
    gameController.ctx.lineWidth=2;
    this.roundedRect(gameController.ctx,105,162,160,50,10,true,true);
    this.roundedRect(gameController.ctx,105,240,160,50,10,true,true);

    gameController.ctx.fillStyle = 'rgba(153,051,000,1)';
    gameController.ctx.font = "35px AR DARLING";
    gameController.ctx.fillText("1 Player",120,200);
    gameController.ctx.fillText("2 Player",120,278);
    }

首次加载网页时不会绘制任何内容。如果有人希望看到,我可以添加代码来显示我调用方法的位置。也许我必须添加.onload(),但我只知道在向画布添加图像时如何做到这一点,而不是fillText等。谢谢。

1 个答案:

答案 0 :(得分:0)

我的drawButtons方法中的window.onload是解决方案。

drawButtons: function() {
    window.onload = (function(){
    gameController.ctx.strokeStyle='pink';
    gameController.ctx.fillStyle='rgba(128,128,128,1)';
    gameController.ctx.lineWidth=2;
    nonGameContent.roundedRect(gameController.ctx,105,162,160,50,10,true,true);
    nonGameContent.roundedRect(gameController.ctx,105,240,160,50,10,true,true);

    gameController.ctx.fillStyle = 'rgba(153,051,000,1)';
    gameController.ctx.font = "35px AR DARLING";
    gameController.ctx.fillText("1 Player",120,200);
    gameController.ctx.fillText("2 Player",120,278);
    })},