2

我试图让画布i循环显示 - 我希望i像 count 一样t从 1 到 9 不停地变化。我只是不知道出了什么问题。javascript看起来像这样:

window.requestAnimFrame = (function(){
    return  window.requestAnimationFrame       ||  
            window.webkitRequestAnimationFrame ||  
            window.mozRequestAnimationFrame    ||  
            window.oRequestAnimationFrame      ||  
            window.msRequestAnimationFrame     ||  
    function(callback){window.setTimeout(callback, 1000/60)}; 
})(); 

var cvs = document.getElementById("canvasId"),
    c = cvs.getContext("2d"),
    t = 0;

window.onload=function loop(){
    window.requestAnimFrame(loop);
    t++;

    for(i=0;i<10;i++){
        c.clearRect(0,0,cvs.width,cvs.height);
        c.font = "bold 90px Arial";
        c.fillText(i + " " + t, 100, 200);
    }
};

http://jsfiddle.net/luxiyalu/9UZU5/

这是一个小游戏的一部分,我在这里被困了 2 天;如果有人能告诉我有什么问题...非常感谢!

4

1 回答 1

2

当您在绘图函数中将 i 从 0 迭代到 9 时,两个绘图之间没有时间,用户只能看到最后一个迭代值,即 9。

我不确定你真正想要实现什么,但看起来你想要这个:

var cvs = document.getElementById("canvasId"),
    c = cvs.getContext("2d"),
    t = 0,
    i = 0;

window.onload = function loop(){
    window.requestAnimFrame(loop);
    i++;
    if (i==10) {
      i = 0;
      t++;
    }

    c.clearRect(0,0,cvs.width,cvs.height);
    c.font = "bold 90px Arial";
    c.fillText(i + " " + t, 100, 200);

};

示范

于 2013-02-22T08:09:21.480 回答