2011-12-13 67 views
0

我刚开始学习一点关于画布的知识!为什么闪烁的矩形(被画布淹没)不起作用?

我想在设置的时间间隔后画出长方形(显示/隐藏/显示/隐藏/显示...)。

如果我删除setInterval()clear_canvas() - 矩形被淹没。问题似乎在clear_canvas()。我从here得到了该代码。

目前它只显示空白页面。在我看来,它应该绘制,清除,绘制,清除...

我加了console.log()进行调试;它被称为!没有任何错误或Chrome 14中引发的任何问题(在Fedora 15上,如果有的话)。一切似乎都没问题;不幸的是,它不是!

我把代码放在JsFiddle上,所以你们可以帮助我。谢谢!

回答

3

你的问题是,它正在清理矩形绘制的时刻。

您需要使绘图和清理之间的函数交替以便注意任何事情。

var draw = false; 
$(function() { 

    setInterval(function() { 

     console.log('called'); 
     if(draw) 
       draw_rectange(); 
     else 
       clear_canvas(); 

     draw = !draw; 

    }, 1000); 

}); 
+0

羞耻不理解这个自己。 :( – daGrevis 2011-12-14 08:21:07

0

讨厌做这个家伙,但它的操作顺序很简单。在画之前清除画布,而不是之后。

开关

draw_rectange(); 
clear_canvas(); 

clear_canvas(); 
draw_rectange(); 

结果:对我 http://jsfiddle.net/pYve5/4/