无法正确更新html5画布

时间:2011-02-02 16:46:02

标签: javascript html5

以下是我的问题的简单演示: http://jsfiddle.net/kaninepete/GqQBx/2/

我希望框中的数字增加输入的数字(对于一个farkle游戏)。 这似乎很简单,但我无法使用任何方法。 我目前的“更新”功能来自this question. 我使用它错了吗?

我的最终目标是将正确的字段用作输入,而不是提示, 但这可能是主题。

2 个答案:

答案 0 :(得分:1)

看起来只有画布的初始更新。调用update()函数,但只更新var tally,在该点之后不更新画布。

    var elem = document.getElementById('tallyDisp');
var tally = 0;


function update() {
    tally += prompt("Update");
    window.setTimeout(100, update);
    if (elem && elem.getContext) {
        var context = elem.getContext('2d');
        if (context) {
            context.fillStyle = '#9f9';
            context.fillRect(0, 0, 300, 200);
            context.fillStyle = '#00f';
            context.font = 'bold 100px sans-serif';
            context.textAlign = 'center';
            context.textBaseline = 'middle';
            context.fillText(tally, 150, 100);
        }
    }
}
update();

//function ask() {
//    tally += parsInt(prompt("Ask"));
//            context.fillStyle = '#9f9'; 
//        context.fillRect(0, 0, 300, 200);
//        context.fillStyle = '#00f';
//        context.font = 'italic 100px sans-serif';
//        context.textAlign = 'center';
//        context.textBaseline = 'middle';
//        context.fillText(tally, 150, 100);
//}
//ask();

答案 1 :(得分:0)

我不确定这是不是一个好习惯,但我以前见过这个......

context.width = context.width; // Clears the canvas