雪花飘飘
Posted longhua-0
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了雪花飘飘相关的知识,希望对你有一定的参考价值。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>雪花</title> <style type="text/css"> * { margin: 0; padding: 0; width: 100%; height: 100%; } #myCanvas { background: black; } </style> </head> <body> <canvas id="myCanvas"> </canvas> <script> //获取画布 var can = document.getElementById("myCanvas"); var ctx = can.getContext("2d"); //画布宽度 var wid = window.innerWidth; //画布高度 var hei = window.innerHeight; can.width = wid; can.height = hei; var snow = 100; //半径,坐标 var arr = []; //保存坐标 for (var i = 0; i < snow; i++) { arr.push({ x: Math.random() * wid, y: Math.random() * hei, r: Math.random() * 10 + 1 }) } //画雪花 function drowSnow() { ctx.clearRect(0,0,wid,hei); ctx.fillStyle = "white"; ctx.beginPath(); for (var i = 0; i < snow; i++) { var p = arr[i]; ctx.moveTo(p.x,p.y); ctx.arc(p.x, p.y, p.r, 0, 2 * Math.PI, false); } ctx.fill(); //雪花飘落 snowFall(); ctx.closePath(); } //雪花飘落 function snowFall() { for (var i = 0; i < snow; i++) { var p = arr[i]; p.y += Math.random() * 2 + 1; if (p.y > hei) { p.y = 0; } p.x += Math.random() * 2 + 1; if (p.x > wid) { p.x = 0; } } } setInterval(drowSnow, 50); </script> </body> </html>
效果链接:http://runjs.cn/code/end5gyfs
以上是关于雪花飘飘的主要内容,如果未能解决你的问题,请参考以下文章
2023跨年烟花(浪漫烟花+美妙音乐+雪花飘飘)含前端源码直接下载---系列最终篇
Silverlight & Blend动画设计系列十三:三角函数(Trigonometry)动画之飘落的雪花(Falling Snow)
Silverlight & Blend动画设计系列十三:三角函数(Trigonometry)动画之飘落的雪花(Falling Snow)