久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

HTML5 Canvas 旋轉(zhuǎn)風(fēng)車?yán)L制

這篇文章主要介紹了HTML5 Canvas 旋轉(zhuǎn)風(fēng)車?yán)L制,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

寫在前面:

親愛的朋友們大家好,鄙人自學(xué)前端,第一次寫博客,寫的不好的地方,煩請同學(xué)們諒解.

在進(jìn)行教學(xué)之前,我想聰明的你已經(jīng)掌握了基本的Canvas基本操作方法,如果對Canvas還不是很了解,那么我建議你去http://www.w3school.com.cn/tags/html_ref_canvas.asp這里先熟悉一下;

okey!下圖即是我們完成后的簡單效果,心動不如行動,那么咱們就進(jìn)行簡單繪制吧!    

HTML5 Canvas 旋轉(zhuǎn)風(fēng)車?yán)L制

1、定義畫布

首先我們現(xiàn)在html文件里面插入<canvas>標(biāo)簽,定義畫布的尺寸,我這里定義畫布的尺寸為800*600像素。同時在內(nèi)部樣式表里面設(shè)置canvas的背景色(方便畫圖時觀看);

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        body{
            padding: 0;
            margin: 0;
        }
        #canvas {
            background:#5151a2;
        }
    </style>
</head>
<body>
    <canvas id="canvas" width="800" height="600"></canvas>
</body>
</html> 

接下來的核心就是在原生JS環(huán)境下,繪制風(fēng)車;通過JS DOM操作方法獲取到canvas元素對象,并通過getContex("2d")獲取2D繪圖上下文,通過這個方法就像是要告訴瀏覽器“我們要在這個畫布上繪制2d圖形”;

<script type="text/javascript">

    //獲取畫布的2d上下文
    var ctx = document.getElementById("canvas").getContext("2d");

2、繪制風(fēng)車底座

風(fēng)車的底座的幾何圖形看似就像一個細(xì)長細(xì)長的梯形,我們可以畫出一個梯形出來,然后填充顏色,這里為了達(dá)到相對較好的效果,使用了顏色漸變填充的方法;okey!直接看代碼吧~~!

 

    //定義一個函數(shù) ,封裝風(fēng)車的底部基座
    function buttom(){
        ctx.beginPath();                                        //開始一條新的繪制路徑
        var liner = ctx.createLinearGradient(390,600,410,600);    //設(shè)置變量(顏色漸變的方向-起點(diǎn)-終點(diǎn))
        liner.addColorStop(0,"#ccc");                            //設(shè)置起點(diǎn)顏色
        liner.addColorStop(0.5,"#fff");                            //設(shè)置中點(diǎn)顏色
        liner.addColorStop(1,"#ccc");                            //設(shè)置終點(diǎn)顏色
        ctx.fillStyle = liner;                                    //梯形的填充方式設(shè)置為 變量(漸變顏色)    
        ctx.moveTo(395,300);                                    //提起我們的畫筆,起點(diǎn)設(shè)置為(395,300)
        ctx.lineTo(405,300);                                    //連接起點(diǎn)畫線
        ctx.lineTo(410,600);
        ctx.lineTo(390,600);                                    
        ctx.closePath();                                        //閉合路徑
        ctx.fill();                                                //填充梯形
        
    }
  buttom();                              //要調(diào)用函數(shù),才能在瀏覽器顯示

我們來看一下頁面中的效果,是不是很簡單?

(我感覺我話有點(diǎn)多哦~!~!)

HTML5 Canvas 旋轉(zhuǎn)風(fēng)車?yán)L制

3、繪制葉子

接下來的部分將是這個動畫中最關(guān)鍵的地方,首先我們分析一下葉子的結(jié)構(gòu),三片葉子夾角為120°,而且每片葉子的形狀是相同的;他們有一個圓心,你心中或許也有疑問,先畫圓心還是先畫葉子?葉子的形狀應(yīng)該怎么畫呢?葉子可不可復(fù)制粘貼呢?答案當(dāng)然是可以的,Let's do it! 

思路分析:

1)、由于3片葉子的形狀是一模一樣,我們只需要畫出一片葉子,第二第三片葉子直接copy就行了,聰明的我們是不是應(yīng)該給這個葉子的畫法封裝一個函數(shù)呀?就叫它bind(  )函數(shù)吧!!每次調(diào)用它就可以了!哎!你們TM太機(jī)智了

2)、三片葉子有一個圓心,繪制葉子的時候?yàn)榱朔奖闳∽鴺?biāo)值,我們將圓心從畫圖的左上角移動梯形頂部,這樣我們繪制葉子會方便很多!這里使用了translate()方法,移動坐標(biāo)系!

3)、最難的一點(diǎn)就是理解這里動畫是怎么實(shí)現(xiàn)的,因?yàn)閯赢嬙頃绊懙轿覀儺嬋~子的文檔結(jié)構(gòu):

首先我們先新建一個繪圖環(huán)境,我們稱它為環(huán)境1,我們在環(huán)境1上畫完第一片葉子;然后在   第一個繪圖環(huán)境前提下  旋轉(zhuǎn)120°新建第一個繪圖環(huán)境2,再此基礎(chǔ)上調(diào)用畫葉子的函數(shù)bind(  ),繪制二片葉子;第三片葉子的繪制方法如法炮制,在環(huán)境2的基礎(chǔ)上旋轉(zhuǎn)120°,新建環(huán)境3,調(diào)用繪制葉子函數(shù)bind(  )畫第三片葉子;

【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請勿用于商業(yè)用途。如損害你的權(quán)益請聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

主站蜘蛛池模板: 欧美一区二区三区在线观看视频 | 91久久 | 黄色成人国产 | 国产高清亚洲 | av片在线观看网站 | 亚洲国产精品久久 | 国产精品免费一区二区三区 | 日韩一区二区在线视频 | 少妇无套高潮一二三区 | 国产精品黄色 | 国产精品亚洲第一 | 成人av在线播放 | 国产成人一区二区三区精 | 欧美一区二区三区在线观看视频 | 国产日韩欧美 | 精品一区二区三区在线观看国产 | 久久久久国 | 精品视频一区二区三区 | 最新高清无码专区 | 国产在线1区 | 欧美日韩成人在线 | 天天综合日日夜夜 | 成人午夜视频在线观看 | 人人干97| 精品久久久久久久久久久久久久久久久 | 精品国产一区二区三区在线观看 | 国产精品久久久久久久久久三级 | 国产激情91久久精品导航 | 欧美 视频| 国产丝袜一区二区三区免费视频 | 亚洲最新在线 | 亚洲毛片在线观看 | 成人免费淫片aa视频免费 | 欧美精品一区二区三区一线天视频 | 精品国产一区二区国模嫣然 | 久久久精彩视频 | 久久一本| 成人欧美一区二区 | 亚洲视频在线观看一区二区三区 | 久热久热| 九九热在线视频免费观看 |