效果如下:
代码如下:
<!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>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。