我目前正在做這樣的重繪:防止畫布在重繪時閃爍?
這工作正常,除了在一段時間後字符精靈會閃爍。這足以成爲一個非常大的煩惱。我應該如何更有效地做到這一點?我也嘗試改變重繪頻率。更高的頻率加劇了這個問題,而由於圖形原因,低頻率不夠快。
init()
{
//stuff
return setInterval(draw,100);
}
function draw()
{
drawBackground();
character.draw(); //draws a sprite
}
//this function is called when character is created
Character.prototype.setImage = function()
{
this.avatar= new Image();
this.avatar.onload=function(){
this.imageLoaded=true;
};
this.avatar.src='/img/sprite.png';
}
Character.prototype.draw=function(ctx)
{
var imageW=this.imageW;
var imageH=this.imageH;
ctx.drawImage(avatar,20,20,imageW,imageH);
}
我試過了,但的jsfiddle似乎並不像面向對象和它給隨機誤差:http://jsfiddle.net/2Gkws/16/ –