最新下载
24小时阅读排行榜
- 1 KyotoCabinet TreeDB性能深度解析与高效基准测试实践
- 2 iBeacon原始十六进制数据解码教程
- 3 Go语言:函数如何返回可变长度切片
- 4 Go语言函数如何返回可变大小的切片
- 5 拥抱鸿蒙生态,重塑服务体验:“我的盐城”树立智慧政务新范式
- 6 拼多多已售罄还会补货吗
- 7 天猫换货成功后怎么申请退货退款?换货状态中怎么申请退货退款
- 8 三色激光画质惊人!当贝D7X激光投影仪评测:三千元不到就能体验旗舰技术
- 9 拼多多3人团必须自己找人吗?3人团是自己找三人吗
- 10 天猫怎么取消退货退款申请?淘宝申请了退货退款怎么取消
- 11 拼多多直播间卖鞋为啥这么便宜
- 12 解读iBeacon原始十六进制数据:结构解析与编程实践
- 13 拼多多直播平台使用攻略是什么?拼多多怎么进入直播间
- 14 怎么查找拼多多管理后台
- 15 手机淘宝自定义模块怎么用?淘宝手机端自定义模块怎么设置
最新教程
-
- Node.js 教程
- 10923 2025-08-28
-
- CSS3 教程
- 1273791 2025-08-27
-
- Rust 教程
- 16996 2025-08-27
-
- Vue 教程
- 19822 2025-08-22
-
- PostgreSQL 教程
- 17595 2025-08-21
-
- Git 教程
- 7243 2025-08-21
html5 canvas海底水草动画特效是一款深海底冒泡的海藻动画场景特效
var canvas, ctx, width, height, stems, bubbles;
stems = [];
bubbles = [];
function Bubble(x, y, radius) {
this.x = x;
this.y = y;
this.radius = radius;
this.vy = -Math.random() * 5;
this.opacity = 0.2 + Math.random() * 0.5;
this.oldY = y;
}
Bubble.prototype.draw = function() {
var strokeColor, fillColor;
strokeColor = 'rgba(255, 255, 255,' + this.opacity + ')';
fillColor = 'rgba(255, 255, 255,' + (this.opacity / 2) + ')';
ctx.save();
ctx.lineWidth = 0.8;
ctx.strokeStyle = strokeColor;
ctx.fillStyle = fillColor;
ctx.beginPath();
ctx.arc(this.x, this.y, this.radius, 0, Math.PI * 2, true);
ctx.closePath();
ctx.fill();
ctx.stroke();
ctx.restore();
}

