2
我試圖讓畫布在循環中顯示i
- 我想要i
就像計數t
一樣,從1-9不停止。我只是無法弄清楚什麼是錯的。 JavaScript的看起來是這樣的:爲什麼不在Canvas中使用For循環工作?
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天;如果有人能告訴我它有什麼問題......非常感謝!
但如果是因爲時間太少,爲什麼數量甚至沒有閃爍了一下,當我告訴'我'從0到999循環,'t'的計數顯着減慢?至少數字從9變爲999應該引起明顯的閃爍? – Luxiyalu 2013-02-22 09:55:17
大多數瀏覽器都不會重畫屏幕,直到腳本結束。這是一個重要而且非常有用的優化,它可以防止在繪製場景時畫布閃爍(即繪製背景,然後繪製前景)。 – 2013-02-22 10:04:12