如何用Canvas粒子制作下雪背景,代码是什么
Admin 2022-07-15 群英技术资讯 397 次浏览
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>canvas粒子形成下雪背景</title> body{ margin: 0px; padding: 0px; } #canvas{ display: block; background: #222; } </style> </head> <body> <canvas id="canvas"></canvas> </body> <script> var canvas = document.getElementById("canvas");//获取canvas var ctx = canvas.getContext("2d");//创建画笔 var w = canvas.width = window.innerWidth;//浏览器宽度 var h = canvas.height = window.innerHeight;//浏览器高度 window.onresize = function(){ w = canvas.width = window.innerWidth; h = canvas.height = window.innerHeight; };//当浏览器刷新的时候刷新 var num = 1000;//数量 var shuju = [];//空数组 for(i = 0;i<num;i++){ shuju.push({//数组末项添加 x : Math.random()*w, y : Math.random()*h, r : Math.random()*2 }); draw(shuju[i].x,shuju[i].y,shuju[i].r)//for循环循环darw function }; console.log(shuju[0]); function draw(x1,y1,r1){ ctx.beginPath();//开始绘画 ctx.fillStyle = "#fff";//颜色 ctx.arc(x1,y1,r1,0,2*Math.PI,false)//arc园 ctx.fill();//填充 } function chageY(){ for(var i = 0;i<num;i++){//for循环 shuju[i].y += Math.random()*5; if(shuju[i].y > h){//大于高度 shuju[i].y = 0;//等于0 } draw(shuju[i].x,shuju[i].y,shuju[i].r);//调取 } } setInterval(function(){ ctx.clearRect(0,0,w,h);//清楚画布 0 0 高度 宽度 chageY(); },10); </script>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
前端htmlhtml超文本标记语言。文本,图片,视频,音频。网页基本信息一个基础的网页具有的一些信息。<!--这是注释--><!--!DOCTYPE网页约束规范--><!DOCTYPEhtml><!--html网页开始的标签--><htmllang="en"><!--hea...
弹性布局,顾名思义就是具有弹性特点,能够自由的伸缩,也就是自适应网页。所以使用css弹性布局flex可以便捷,完整,响应式地实现多种页面布局。这篇文章就主要给大家介绍一下css弹性布局flex的使用。
这篇文章主要介绍了html+css+js实现导航栏滚动渐变效果,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
HTML中跨列属性ROWSPAN基本语法是什么,有需要这方面内容的小伙伴可以看看小编给大家整理的资料,一定不会让你失望的。
CSS中img图片怎样实现等比例缩小的效果?有时候我们上传的图片太大了想要对img图片进行缩小,而CSS中,我们使用transform属性配合scale()函数就可以实现等比例缩小的效果,下面我们就来看看具体是怎样实现的。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008