真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

canvas如何實(shí)現(xiàn)粒子時(shí)鐘效果

這篇文章將為大家詳細(xì)講解有關(guān)canvas如何實(shí)現(xiàn)粒子時(shí)鐘效果,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

專(zhuān)注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)成縣免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

效果展示

點(diǎn)陣數(shù)字

digit.js是一個(gè)三維數(shù)組,包含的是0到9以及冒號(hào)(digit[10])的二維點(diǎn)陣。每個(gè)數(shù)字的點(diǎn)陣表示是7*10大小的二維數(shù)組

通過(guò)遍歷數(shù)字點(diǎn)陣的二維數(shù)組,當(dāng)該位置的值為1時(shí),則繪制一個(gè)粒子,否則不繪制

canvas如何實(shí)現(xiàn)粒子時(shí)鐘效果

將繪制數(shù)字的函數(shù)命名為renderDigit()。在該函數(shù)中,將粒子繪制為一個(gè)小圓。小圓的半徑為R,小圓所占據(jù)的矩形寬(高)為2(R+1)。由于數(shù)字點(diǎn)陣是10*7的二維數(shù)組,所以一個(gè)數(shù)字的寬度為14(R+1),高度為20(R+1)

假設(shè)數(shù)字的高度為100px,則小圓的半徑R=4


 
 
 
 
 
 
 
 
 
 
當(dāng)前瀏覽器不支持canvas,請(qǐng)更換瀏覽器后再試  

時(shí)鐘實(shí)現(xiàn)

在上一步的點(diǎn)陣數(shù)字的基礎(chǔ)上,實(shí)現(xiàn)一個(gè)粒子時(shí)鐘。將時(shí)鐘實(shí)現(xiàn)的函數(shù)命名為digitTime(),時(shí)鐘實(shí)現(xiàn)由獲取時(shí)間數(shù)據(jù)和渲染時(shí)鐘兩部分組成

【時(shí)間數(shù)據(jù)】

最簡(jiǎn)單的時(shí)鐘形式由兩位的小時(shí)、兩位的分鐘和兩位的秒鐘組成,中間用冒號(hào)隔開(kāi)。通過(guò)日期對(duì)象Date來(lái)獲取當(dāng)前時(shí)間,以及當(dāng)前的小時(shí)、分鐘和秒鐘。但是,最終需要得到的是數(shù)字表示的時(shí)鐘

比如12:02:36的時(shí)間數(shù)據(jù)的表示形式為data[1,2,10,0,2,10,3,6]

【渲染時(shí)鐘】

 獲取到時(shí)間數(shù)據(jù)后,通過(guò)循環(huán)使用renderDigit()來(lái)渲染時(shí)鐘中的每一個(gè)數(shù)字。此時(shí),有一個(gè)需要改變的地方是arc()函數(shù)中的x坐標(biāo),否則它們將疊加在一起

 為了將時(shí)鐘數(shù)字表示更加清晰在每個(gè)數(shù)字之間增加一定的間距。每個(gè)數(shù)字的寬度是14(R+1),假設(shè)data數(shù)組中7個(gè)數(shù)字的索引為index,則每個(gè)數(shù)字的起始X坐標(biāo)可以等于14(R+2)*index

 最后通過(guò)定時(shí)器每間隔一段時(shí)間后更新時(shí)間

當(dāng)前瀏覽器不支持canvas,請(qǐng)更換瀏覽器后再試
 

隨機(jī)拋物線

這節(jié)的隨機(jī)拋物線運(yùn)動(dòng)是下節(jié)粒子動(dòng)畫(huà)的預(yù)備節(jié)。以DOM節(jié)點(diǎn)的投擲碰壁為基礎(chǔ),利用canvas實(shí)現(xiàn)一個(gè)小球的隨機(jī)拋物線運(yùn)動(dòng)

將小球的運(yùn)動(dòng)拆分為x軸和y軸運(yùn)動(dòng)。x軸做勻速運(yùn)動(dòng),y軸先做向上的減速運(yùn)動(dòng),再做向下的加速運(yùn)動(dòng)。當(dāng)小球離開(kāi)畫(huà)布區(qū)域時(shí),停止定時(shí)器

按鈕
當(dāng)前瀏覽器不支持canvas,請(qǐng)更換瀏覽器后再試

粒子動(dòng)畫(huà)

下面來(lái)實(shí)現(xiàn)粒子動(dòng)畫(huà)。在時(shí)間數(shù)字變化的瞬間,由眾多的粒子組成的新數(shù)字上重復(fù)生成相同的粒子,并且新生成的粒子做隨機(jī)的拋物線運(yùn)動(dòng)

所以,第一步是先要判斷是哪個(gè)或哪些數(shù)字在時(shí)間更新時(shí)發(fā)生了變化。然后,通過(guò)這些變化信息,生成要運(yùn)動(dòng)的小球。在定時(shí)器的運(yùn)行間隔內(nèi),對(duì)運(yùn)動(dòng)小球的狀態(tài)進(jìn)行更新。最后,對(duì)時(shí)鐘和運(yùn)行的小球進(jìn)行統(tǒng)一渲染

當(dāng)前瀏覽器不支持canvas,請(qǐng)更換瀏覽器后再試
 

源碼查看

公告欄擴(kuò)展

將canvas粒子時(shí)鐘js部分封裝為canvasTime.js,在公告欄添加如下代碼,即可以實(shí)現(xiàn)在公告欄插入時(shí)鐘的效果

當(dāng)前瀏覽器不支持canvas,請(qǐng)更換瀏覽器后再試

canvas如何實(shí)現(xiàn)粒子時(shí)鐘效果

canvas如何實(shí)現(xiàn)粒子時(shí)鐘效果

關(guān)于“canvas如何實(shí)現(xiàn)粒子時(shí)鐘效果”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。


當(dāng)前名稱:canvas如何實(shí)現(xiàn)粒子時(shí)鐘效果
轉(zhuǎn)載源于:http://weahome.cn/article/pcogjj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部