章节
问答
课签
笔记
评论
占位
占位

canvas飘雪(中)

在canvas中调用一个content.arc的圆弧方法,我们就能画出一个雪球出来,同样的如果要有漫天飘雪的感觉那就需要大量的雪球,这里直接可以定义一个雪球类,通过类产生大量的雪球对象。

参考右边代码snowflake.js,定义了一个Snow的雪球类

//构建雪球
for (var i = 0; i < snowNumber; ++i) {
    new Snow();
}

通过循环new Snow产生多个雪球对象。每个雪球都有自己不同的形态、状态、属性。例如:雪球的透明度、x、y轴坐标、雪球的半径这些都是变化的,针对这样的处理这会有randomInRange随机算法用随机取值

function randomInRange(min, max) {
  var random = Math.random() * (max - min) + min;
   return random;
}

randomInRange方法比较简单,随机max - min的值,但是要保证要起点是min

例如:this.alpha 透明度,这里会在0.5到1之间取值

this.alpha = randomInRange(0.5,1);

雪球的的坐标需要注意,不能溢出当然的容易范围

this.x = (Math.random() * width);
this.y = (Math.random() * height);

这个很好理解,最大的取值不能超过容器范围

任务

?不会了怎么办
||

提问题

写笔记

公开笔记
提交
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

举报

0/150
提交
取消
全部 精华 我要发布
全部 我要发布
最热 最新
只看我的

手记推荐

更多

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?