婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 使用canvas實現(xiàn)雪花飄動效果的示例代碼

使用canvas實現(xiàn)雪花飄動效果的示例代碼

熱門標簽:智能語音電銷機器人客戶端 高德地圖標注廁所 江西ai電銷機器人如何 西安金倫外呼系統(tǒng) 地圖標注沿海城市房價 威海語音外呼系統(tǒng)平臺 中國地圖標注城市的 地圖標注員工作內(nèi)容 通遼地圖標注app

今天我們就使用canvas來實現(xiàn)雪花飄落的效果❄️

一、canvas是什么?

HTML5 <canvas> 元素用于圖形的繪制,通過腳本 (通常是JavaScript)來完成.

<canvas> 標簽只是圖形容器,您必須使用腳本來繪制圖形。

你可以通過多種方法使用 canvas 繪制路徑,盒、圓、字符以及添加圖像。

二、canvas的基本用法

1.創(chuàng)建一個畫布(Canvas)

<canvas id="myCanvas" width="200" height="100"></canvas>

2.使用JavaScript繪制圖像

//首先找到<canvas>元素
var c=document.getElementById("myCanvas");
//然后創(chuàng)建context對象
var ctx=c.getContext("2d");
//下面的兩行代碼繪制一個紅色的矩形:
ctx.fillStyle="#FF0000";
ctx.fillRect(0,0,150,75);

getContext("2d") 對象是內(nèi)建的 HTML5 對象,擁有多種繪制路徑、矩形、圓形、字符以及添加圖像的方法。

設置fillStyle屬性可以是CSS顏色,漸變,或圖案。fillStyle 默認設置是#000000。

3.Canvas 坐標

canvas 是一個二維網(wǎng)格。
canvas 的左上角坐標為 (0,0)
ctx.fillRect(0,0,150,75);
上面的 fillRect 方法擁有參數(shù) (0,0,150,75)。
意思是:在畫布上繪制 150x75 的矩形,從左上角開始 (0,0)。

4.Canvas - 路徑

moveTo(x,y) 定義線條開始坐標
lineTo(x,y) 定義線條結束坐標
在canvas中繪制圓形, 我們將使用以下方法:

arc(x,y,r,start,stop)

使用arc() 畫一個圓

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.beginPath();
ctx.arc(95,50,40,0,2*Math.PI);
ctx.stroke();

三、實現(xiàn)雪花飄動的思路

1.創(chuàng)建一個畫布(Canvas)

 var canvas =document.getElementById("canvas")
    //參數(shù) contextID 指定了您想要在畫布上繪制的類型。
    //當前唯一的合法值是 "2d",它指定了二維繪圖,
    //并且導致這個方法返回一個環(huán)境對象,該對象導出一個二維繪圖 API。
    var context = canvas.getContext("2d")
    var w =window.innerWidth
    var h =window.innerHeight
    canvas.width = w;
    canvas.height =h;

2.創(chuàng)建雪花的對象數(shù)組

 var count =200 //雪花的個數(shù)
    var snows=[] //雪花對象數(shù)組
    for (var i=0 ; i< count;i++){
        snows.push({
            x:Math.random()*w,//Math.random()用于生成0~1的隨機數(shù)
            y:Math.random()*h,
            r:Math.random()*5,
        })
    }

3.繪制雪花樣式

 function draw(){
        context.clearRect(0,0,w,h)
        context.beginPath()
        for(var i=0; i<count;i++){
            var snow = snows[i];//遍歷每一片雪花
            context.fillStyle ="rgb(255,255,255)" //設置雪花的樣式
            context.shadowBlur=10;
            context.shadowColor="rgb(255,255,255)";
            //moveTo 的方法是可以移動到指定的坐標
            context.moveTo(snow.x,snow.y)
            // 使用canvas arc()創(chuàng)建一個圓形
             //x,y,r:圓的中心的x坐標和y坐標,r為半徑
            //0,Math.PI * 2起始弧度和結束弧度
            
            context.arc(snow.x,snow.y,snow.r,0,Math.PI * 2)
            
        }
        //畫布填充
        context.fill()
        move()
    }

4.實現(xiàn)雪花飄動

 function move(){
        for (var i=0;i<count;i++){
            var snow =snows[i];
            snow.y +=(7-snow.r)/10 //從上往下飄落
            snow.x+=((5-snow.r)/10)//從左到右飄落
            if(snow.y>h){
                snows[i]={
                    x:Math.random()*w,
                    y:Math.random()*h,
                    r:Math.random()*5,
                }
            }
        }
    }

5.設置刷新

  draw()
    //每毫秒刷新一次
 setInterval(draw,1)

6.完整代碼

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>雪花飄飄之使用canvas元素用于在網(wǎng)頁上繪制圖形。</title>
 
 <style type="text/css">
  *{
            margin:0;
            padding:0;
            /* background-color: seagreen; */
            background: url("雪人.jpg")  no-repeat;
            background-size:100% 100%;
        }
  /* .can{
            filter: blur(1px);
        } */
 </style>
</head>
<body>
 <canvas id="canvas" class="can"></canvas>

 <script type="text/javascript">
    //canvas 元素用于在網(wǎng)頁上繪制圖形。
 var canvas =document.getElementById("canvas")
    //參數(shù) contextID 指定了您想要在畫布上繪制的類型。
    //當前唯一的合法值是 "2d",它指定了二維繪圖,
    //并且導致這個方法返回一個環(huán)境對象,該對象導出一個二維繪圖 API。
    var context = canvas.getContext("2d")
    var w =window.innerWidth
    var h =window.innerHeight
    canvas.width = w;
    canvas.height =h;
    var count =200 //雪花的個數(shù)
    var snows=[] //雪花對象數(shù)組
    for (var i=0 ; i< count;i++){
        snows.push({
            x:Math.random()*w,//Math.random()用于生成0~1的隨機數(shù)
            y:Math.random()*h,
            r:Math.random()*5,
        })
    }
    //繪制雪花
    function draw(){
        context.clearRect(0,0,w,h)
        context.beginPath()
        for(var i=0; i<count;i++){
            var snow = snows[i];//遍歷每一片雪花
            context.fillStyle ="rgb(255,255,255)" //設置雪花的樣式
            context.shadowBlur=10;
            context.shadowColor="rgb(255,255,255)";
            //moveTo 的方法是可以移動到指定的坐標
            context.moveTo(snow.x,snow.y)
            // 使用canvas arc()創(chuàng)建一個圓形
             //x,y,r:圓的中心的x坐標和y坐標,r為半徑
            //0,Math.PI * 2起始弧度和結束弧度
            
            context.arc(snow.x,snow.y,snow.r,0,Math.PI * 2)
           
            
        }
        //畫布填充
        context.fill()
        move()
    }
    //雪花飄動
    function move(){
        for (var i=0;i<count;i++){
            var snow =snows[i];
            snow.y +=(7-snow.r)/10 //從上往下飄落
            snow.x+=((5-snow.r)/10)//從左到右飄落
            if(snow.y>h){
                snows[i]={
                    x:Math.random()*w,
                    y:Math.random()*h,
                    r:Math.random()*5,
                }
            }
        }
    }
    draw()
    //每毫秒刷新一次
 setInterval(draw,1)
 </script>
</body>
</html>

總結

到此這篇關于使用canvas實現(xiàn)雪花飄動效果的示例代碼的文章就介紹到這了,更多相關canvas雪花飄動內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持腳本之家!

標簽:營口 北海 河池 眉山 阜陽 青海 晉中 崇左

巨人網(wǎng)絡通訊聲明:本文標題《使用canvas實現(xiàn)雪花飄動效果的示例代碼》,本文關鍵詞  使用,canvas,實現(xiàn),雪花,飄動,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《使用canvas實現(xiàn)雪花飄動效果的示例代碼》相關的同類信息!
  • 本頁收集關于使用canvas實現(xiàn)雪花飄動效果的示例代碼的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲欧洲av在线| 欧美区一区二区三区| 91女厕偷拍女厕偷拍高清| 亚洲免费在线电影| 亚洲图片欧美一区| 裸体健美xxxx欧美裸体表演| 粗大黑人巨茎大战欧美成人| 欧洲生活片亚洲生活在线观看| 91精品欧美久久久久久动漫| 中文字幕精品一区二区精品绿巨人| 亚洲欧美一区二区三区孕妇| 婷婷综合在线观看| 成人av在线资源| 69久久夜色精品国产69蝌蚪网| 国产午夜精品久久久久久免费视| 一区二区三区高清在线| 久久精品噜噜噜成人av农村| 91麻豆免费观看| 日韩精品一区国产麻豆| 樱花草国产18久久久久| 国产又黄又大久久| 欧美日韩一级片在线观看| 国产日产欧美精品一区二区三区| 亚洲国产欧美在线| 成人激情免费网站| 欧美本精品男人aⅴ天堂| 亚洲欧美另类久久久精品2019| 麻豆91在线看| 色欧美日韩亚洲| 国产欧美一区二区三区沐欲| 日韩精品一二三四| 91丨porny丨首页| 欧美精品一区二区三区高清aⅴ| 亚洲品质自拍视频| 国产精品一二一区| 日韩视频一区在线观看| 一区二区理论电影在线观看| 国产成人综合视频| 日韩精品一区二区三区中文不卡| 亚洲午夜在线电影| 91捆绑美女网站| 国产日韩欧美精品综合| 美女国产一区二区三区| 欧美在线视频不卡| 专区另类欧美日韩| 成人免费观看视频| 久久久国际精品| 免费欧美日韩国产三级电影| 欧美亚洲愉拍一区二区| 亚洲日本欧美天堂| 99久精品国产| 国产精品蜜臀av| 国产夫妻精品视频| 久久久精品黄色| 国产在线精品一区二区三区不卡 | 亚洲成人先锋电影| 91网站最新地址| 国产精品女上位| 国产成人av一区| 国产亚洲欧洲997久久综合| 国精产品一区一区三区mba桃花| 美女视频第一区二区三区免费观看网站| 91免费视频观看| 亚洲乱码国产乱码精品精98午夜 | 亚洲精品日产精品乱码不卡| 成人午夜激情视频| 欧美激情在线观看视频免费| 国产成人免费网站| 国产精品丝袜黑色高跟| 成人国产精品免费网站| 中文天堂在线一区| 成人av网站大全| 亚洲男帅同性gay1069| 色悠悠久久综合| 一区二区三区鲁丝不卡| 欧美视频第二页| 视频一区二区不卡| 日韩视频在线一区二区| 国产一区在线不卡| 欧美国产禁国产网站cc| 91在线看国产| 亚洲一区在线视频| 91精品国产黑色紧身裤美女| 日本不卡一区二区三区| 精品国产91久久久久久久妲己| 国产精品一二二区| 最新成人av在线| 精品视频在线免费观看| 免费三级欧美电影| 久久精品一区二区三区不卡 | 亚洲午夜av在线| 欧美一区二区三区电影| 久久99精品国产.久久久久久| 久久久久国产精品麻豆| 91小视频在线免费看| 午夜精品福利一区二区蜜股av | 国产成人精品午夜视频免费| 日韩美女视频一区二区| 欧美日韩亚洲综合| 国产在线精品视频| 亚洲另类一区二区| 日韩丝袜情趣美女图片| 成人一区二区三区视频在线观看| 国产精品成人免费在线| 欧美日韩mp4| 国产成人自拍网| 一区二区三区日本| 欧美岛国在线观看| av在线播放一区二区三区| 亚洲成精国产精品女| 久久精品欧美一区二区三区不卡| av在线不卡电影| 日韩黄色在线观看| 国产欧美日韩在线视频| 欧美日韩日本视频| 粉嫩欧美一区二区三区高清影视| 一区二区三区在线观看欧美| 国产一区久久久| 依依成人综合视频| 国产亚洲一二三区| 欧美另类一区二区三区| 成人精品电影在线观看| 日韩制服丝袜先锋影音| 亚洲欧洲精品天堂一级| 欧美一区二区精品在线| 99在线精品一区二区三区| 奇米888四色在线精品| 亚洲嫩草精品久久| 久久久精品蜜桃| 91精品久久久久久久久99蜜臂| 成人高清伦理免费影院在线观看| 三级一区在线视频先锋| 中文字幕中文字幕一区二区| 欧美电视剧在线观看完整版| 91九色最新地址| 成人综合在线网站| 久久国产精品色| 亚洲国产毛片aaaaa无费看| 国产精品久久久久久久久免费樱桃| 日韩视频一区二区三区在线播放| 色综合视频在线观看| 国产麻豆一精品一av一免费| 日本一不卡视频| 亚洲综合激情网| 国产精品三级在线观看| 欧美va亚洲va| 欧美精品在线一区二区三区| 色噜噜狠狠色综合中国| 99久久久久免费精品国产 | 中文字幕在线不卡视频| 欧美成人a视频| 制服丝袜av成人在线看| 欧美视频在线观看一区| av一区二区三区| 粉嫩久久99精品久久久久久夜| 狠狠色伊人亚洲综合成人| 日产精品久久久久久久性色| 一区二区三区蜜桃网| 亚洲欧洲另类国产综合| 中文字幕国产精品一区二区| 欧美一级生活片| 91精品一区二区三区在线观看| 欧美午夜精品免费| 色哦色哦哦色天天综合| 色综合久久久久综合| 色综合 综合色| 色综合av在线| 91国产视频在线观看| 色综合久久综合中文综合网| 99久久综合色| 成人激情黄色小说| 成人午夜av电影| av电影天堂一区二区在线观看| 粗大黑人巨茎大战欧美成人| 成人涩涩免费视频| a亚洲天堂av| 91在线视频观看| 色综合一个色综合亚洲| 91丨porny丨国产入口| 一本大道久久a久久综合| 亚洲主播在线观看| 亚洲综合激情网| 亚洲成av人片一区二区梦乃 | 欧美一区二区国产| 日韩欧美色综合网站| 亚洲精品一区二区三区福利 | 欧洲在线/亚洲| 欧美日韩在线播放三区| 91精品国产综合久久香蕉麻豆| 91精品国产综合久久精品图片| 欧美顶级少妇做爰| 精品国产乱码久久久久久蜜臀 | 色综合天天综合狠狠| 91成人免费在线视频| 欧美日韩高清在线| 日韩精品一区二区三区在线| 国产午夜精品一区二区| 亚洲婷婷在线视频| 亚洲一本大道在线| 日本美女视频一区二区|