看B站時,對彈幕的實現(xiàn)產(chǎn)生了興趣,一開始想到用css3動畫去實現(xiàn),后來感覺這樣性能不是很好,查了下資料,發(fā)現(xiàn)可以用canvas實現(xiàn),于是就摸索著寫了一個簡單的彈幕。
彈幕功能
效果圖
demo
源碼地址
前端框架選了比較熟悉的vuejs
彈幕滾動的基本思路就是通過定時器不斷地改變彈幕的位置,時時重繪畫布。
實現(xiàn)步驟
先加入一個canvas標簽,這里有個注意點,關(guān)于設(shè)備像素比對canvas的影響,會出現(xiàn)繪圖模糊。
// 如果單純這樣寫,canvas會出現(xiàn)模糊 //為了不出現(xiàn)模糊,需要設(shè)置canvas的css寬高為上下文寬高的1/devicePixelRatio, 本文是對于devicePixelRatio:2的設(shè)備設(shè)置的,該值可從window.devicePixelRatio取得。 // 后面會用到
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。