Canvas實現動態(tài)的雪花效果
更新時間:2017年02月13日 14:41:05 作者:nick906
本文主要分享Canvas實現動態(tài)的雪花效果的示例代碼。具有很好的參考價值,下面跟著小編一起來看下吧
效果如下:

代碼如下:
<!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++) {//循環(huán)生成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);//清除畫布區(qū)域
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>
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關文章
JavaScript判斷FileUpload控件上傳文件類型
在CS后臺代碼中獲取FileUpload控件上傳文件的類型是比較容易的!那么,能否在客戶端通過JavaScript腳本判斷FileUpload上傳文件類型呢?答案是可以的,下面通過一個小例子為大家展示2015-09-09

