Canvas实现动态的雪花效果
2017-02-13 14:41
721 查看
效果如下:
代码如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Canvas</title> <style type="text/css"> *{ margin: 0; padding: 0; } html, body{ height: 100%; } #myCanvas{ background-color: #87CEEB; } </style> </head> <body> <canvas id="myCanvas" width="1000" height="600">您的浏览器不支持Canvas元素</canvas> <script type="text/javascript"> var canvas = document.getElementById("myCanvas"); var context = canvas.getContext("2d"); var practicles = []; for (var i = 0; i < 500; i++) {//循环生成500粒 practicles.push({ x: Math.random()*(window.innerWidth), y: Math.random()*(window.innerHeight), vx: Math.random()-0.5, vy: Math.random()+0.5, size: Math.random()*3+1, color: "#FFF" }) } function timeUpdate(){ context.clearRect(0,0,window.innerWidth,window.innerHeight);//清除画布区域 var practicle; for (var i = 0; i < 500; i++) { var practicle = practicles[i]; practicle.x += practicles[i].vx; practicle.y += practicles[i].vy; if (practicle.x<0) {practicle.x=window.innerWidth} if (practicle.x>window.innerWidth) {practicle.x=0} if (practicle.y>window.innerHeight) {practicle.y=0} context.beginPath(); context.arc(practicle.x,practicle.y,practicle.size,0,Math.PI*2) context.closePath(); context.fillStyle = practicle.color; context.fill(); } } setInterval(timeUpdate,40); </script> </body> </html>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!
您可能感兴趣的文章:
相关文章推荐
- html5:<canvas>标签实现动态效果
- canvas实现雪花效果
- jQuery+canvas实现的球体平抛及颜色动态变换效果
- html5的canvas实现3d雪花飘舞效果
- html5:<canvas>标签实现动态效果
- Android自定义控件 -Canvas绘制折线图(实现动态报表效果)
- js+canvas实现动态吃豆人效果
- jQuery+canvas实现的球体平抛及颜色动态变换效果
- canvas进阶——实现静态图像的变形并合成动态效果
- canvas实现动态小球重叠效果
- jQuery+canvas实现简单的球体斜抛及颜色动态变换效果
- jQuery+canvas实现简单的球体斜抛及颜色动态变换效果
- 在VB中实现窗体的动态效果
- C# 中实现类似于WORD EXCEL 的动态缩放效果(客户后来说程序使用能产生乐趣)
- 窗体动态效果的实现
- Canvas如何实现图像的居中、平铺效果
- 在嵌入式用定时器实现动态效果!
- DataGrid实现动态数字图形效果
- 在Css样式表中添加javascript,实现动态效果
- 在BREW中打造自己的GUI(7)-动态效果的实现