HTML5 Canvas - 制作带有金色薄片的动画背景

时间:2013-03-20 22:52:58

标签: javascript html5 animation canvas particles

我正在一个需要动画背景的网站上工作。我试图模仿掉落的金片。最初我们尝试使用动画gif,但它太沉重和缓慢。

这是我第一次使用Canvas,我非常希望有更多经验的人给我一些意见。

我发现了一些代码作为起点,并根据我的需要重新调整了它。这是我目前所在的位置:http://codepen.io/slickdev/pen/LqKai

待办事项:我想减慢落下的粒子的速度,并改变它们的形状,从一个完美的圆圈看起来更像是落金片。如果我能让它看起来更逼真,那将是理想的。我还需要关注性能。有没有什么方法可以优化它以更有效地运行?

在可访问性/跨浏览器兼容性方面,这种方法有任何缺点吗?我做了一些研究,似乎得到了广泛的支持。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我不知道你以前是否已经有机会完成这项任务,但是这里...... [/ p>

要更改下降粒子的速度,您需要编辑您的分叉Pen的第57和58行上的@vx@vy,类似于:

@vx = range(0,1)+8*xpos-5
@vy = 0.2*@r

我发现改变DOP(和Y值来补偿)给了一些更“可信”的东西:

@dop = 0.001*range(1,5)
@y = range(-100,h-@r2)

关于绘制更“逼真”的雪花,我个人更喜欢看到更接近“圆圈”的形状,因为实际片状本身在现实生活中更难以看到。但是如果你热衷于理解你最初的想法,我可以指向HTML5 canvas fractals

如果你正在寻找简单的东西,那么要考虑的是一个很好的例子是 Pentaflake fractals 。如果你真的想要引起人们的注意,那么我建议你查看这个HTML canvas分形应用程序的源代码here

我希望这会有所帮助:)