html5 canvas粒子形成下雪背景的效果
<!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>
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tangbbchh
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
photoshop蒙版画笔没反应怎么办
PHP中文网 06-24