HTML5實(shí)現(xiàn)下雪實(shí)例-創(chuàng)新互聯(lián)

下雪實(shí)例

為紅旗等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及紅旗網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、紅旗網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

知識(shí)點(diǎn):

  1. canvas畫布

  2. 數(shù)組

  3. 繪畫函數(shù)

    

    

效果:

HTML5實(shí)現(xiàn)下雪實(shí)例

源碼:

------------------------------

<!doctype html> <html lang="en">  <head>   <meta charset="UTF-8">   <meta name="Generator" content="">   <meta name="Author" content="">   <meta name="Keywords" content="">   <meta name="Description" content="">   <title>下雪</title>   <style> *{padding:0;margin:0} html{overflow:hidden}   </style>  </head>  <body> <canvas id="canvas" ></canvas> <audio src="http://dx.sc.chinaz.com/Files/DownLoad/sound1/201210/2178.mp3" autoplay loop/> <audio src="http://dx.sc.chinaz.com/Files/DownLoad/sound1/201205/1430.mp3" autoplay loop/> <script type="text/javascript"> window.onload = function(){ //獲取畫布對(duì)象 var canvas = document.getElementById("canvas"); //獲取畫布的上下文 var context =canvas.getContext("2d"); //獲取瀏覽器屏幕的寬度和高度 var w = window.innerWidth; var h = window.innerHeight; //設(shè)置canvas的寬度和高度 canvas.width = w; canvas.height = h; //1:如何產(chǎn)生雪花,一個(gè)圓 ,arc(x,y,r,start,end) //初始化雪花數(shù)量 var num = 200; //雪花數(shù)組 var snows = []; for(var i=0;i<num;i++){ //x,y圓心掉的坐標(biāo)位置,r代表圓的半徑,d每個(gè)圓的每個(gè)圓之間的間距,c代表的顏色 var r = randColor(); snows.push({ x:Math.random()*w, y:Math.random()*h, r:Math.random()*10, d:Math.random()*num }); }; //繪畫的函數(shù) function draw(){ context.clearRect(0,0,w,h); context.beginPath(); for(var i=0;i<num;i++){ var snow = snows[i]; context.fillStyle = "rgba(255,255,255,0.9)"; context.moveTo(snow.x,snow.y); context.arc(snow.x,snow.y,snow.r,0,Math.PI*2); } context.fill(); //掉落 drop(); }; var angle = 0; function drop() { angle += 0.01; for(var i = 0; i < num; i++){ var p = snows[i]; //記住兩個(gè)公式:Math.sin(弧度)返回是一個(gè)0 1 -1 的數(shù)字 //math.cos(1 0 -1 ) 自由體, p.y += Math.cos(angle+p.d) + 1 + p.r*0.625; p.x += Math.sin(angle) * 8 ; //如果雪花到了邊界,進(jìn)行邊界處理 if(p.x > w+5 || p.x < -5 || p.y > h){ if(i%4 > 0) { snows[i] = {x: Math.random()*w, y: -10, r: p.r, d: p.d}; }else{ //控制方向 if(Math.sin(angle) > 0){ snows[i] = {x: -5, y: Math.random()*h, r: p.r, d: p.d}; }else{ snows[i] = {x: w+5, y: Math.random()*h, r: p.r, d: p.d}; } } } } }; //執(zhí)行和調(diào)用函數(shù) draw(); setInterval(draw,10); //隨機(jī)顏色 function randColor(){ var r = Math.floor(Math.random() * 256); var g = Math.floor(Math.random() * 256); var b = Math.floor(Math.random() * 256); return "rgb("+r+","+g+","+b+")"; }; }; </script>  </body> </html>

HTML5實(shí)現(xiàn)下雪實(shí)例

HTML5實(shí)現(xiàn)下雪實(shí)例

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

本文題目:HTML5實(shí)現(xiàn)下雪實(shí)例-創(chuàng)新互聯(lián)
本文地址:http://www.muchs.cn/article6/pgjig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、全網(wǎng)營(yíng)銷推廣、品牌網(wǎng)站設(shè)計(jì)、外貿(mào)建站、靜態(tài)網(wǎng)站網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)