我试图让画布在循环中显示i -我希望i像计数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天了;如果有人能告诉我它出了什么问题…非常感谢!
发布于 2013-02-22 16:09:21
当您在绘图函数中迭代从0到9的i时,两个绘图之间没有剩余的时间,用户只能看到最后一个迭代值,即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);
};Demonstration
https://stackoverflow.com/questions/15019485
复制相似问题