下雨模块:一个Javascript的计时事件可以无论何时调用rain()方法。使用用户指定的时间间隔,这个模块使新雨滴随机的滴落在Canvas上。新雨滴的大小是预先设置的,它允许用户控制动画中的数量和大小。用demo中的一个做例子,下列调用rain()方法会每隔100毫秒产生一个新雨滴加到Canvas上。这些雨滴会根据下列分布:88%的在3和6之间(最小数字是3加上0到3之间的随机数),2%的(0.9-0.88)大小是5,剩下的10%是在6和8 之间。
JavaScript
engine.rain([
engine.preset(3, 3, 0.88),
engine.preset(5, 5, 0.9),
engine.preset(6, 2, 1),
], 100)
2.重力模块
一旦一个雨滴被添加到动画,一个额外的定时事件将通过修改其在Y轴位置控制Canvas上雨滴的运动(为了给定一个角度,模拟降雨下降,X轴上也做了同样处理)。现在rainyday.js提供了两种不同的重力函数GRAVITY_LINEAR(简单的重力加速度)和GRAVITY_NON_LINEAR(水滴的随机运动)选择重力函数如调用般简单。
engine.gravity = engine.GRAVITY_NON_LINEAR
3.轨迹模块
在重力运动下降后执行的函数,为了留下痕迹。当TRAIL_NONE无法拖出尾巴是,TRAIL_DROPS函数实现小水滴的痕迹。选择一个函数包含调用
engine.trail = engine.TRAIL_DROPS
这个分成两块写就可以了
var
n
=
Math.round(Math.random()
*
100)
//
这里返回的可能性就是0-100,round是四舍五入
var
d
=
n
===
100
?
n
:
n
+
Math.random()
//
这里如果是100就不加小数部分,不是100则加