您的位置:首页 > 其它

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>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  canvas 雪花