2012-01-18 72 views
1

jsfiddle here动画用帆布

几个实例我在今天的工作无聊,所以我刚开始建设有帆布的东西,试图教我一些东西。我被困在这一部分,并决定接触SO社区,而不是将我的头撞到墙上。

基本的想法是听一个点击,然后创建一个随机彩色的圈子,用户点击,动画到一个更大的尺寸和淡出。

当您只需点击并让其淡出时,它会很好用。当你一次在画布上有多个圆时,问题就来了。我可以告诉这是因为我如何做我的动画循环,但对于我的生活,我无法弄清楚如何做得更好。

我应该有一个与setInterval分开的动画循环来增长/淡化圆圈吗?如果是这样,该循环应该做什么?我觉得我需要从实际渲染中分离放置/增长/淡入的圈子。

编辑:我已经注意到这个似乎只在Chrome中工作(也许太Safari浏览器)

回答

1

的解决方案是将所有绘图的统一到一个地方,让你的setInterval回调可以重绘一切。

检查出来: http://jsfiddle.net/ybcHk/7/

+0

谢谢,这真是棒极了。有一些修改后的代码让我困惑了一些,但我想我大部分都会发生什么。在这里更新一下:http://jsfiddle.net/ybcHk/11/ – idrumgood 2012-01-18 20:05:17

+1

更新后的版本是一些奇怪的,爱丽丝梦游仙境。我在这里添加了对我的版本的评论:http://jsfiddle.net/ybcHk/12/;看看他们是否有助于解释任何奇怪的点。 – ellisbben 2012-01-18 20:48:08

+0

完美。我想到了所有这些。我用CirclesNext删除了这个部分,而且我的数组在一段时间后变得非常庞大。我假设你这样做了,如果有人玩了20分钟(......我可能),它不会杀死记忆。 – idrumgood 2012-01-18 20:53:04