1. 程式人生 > >躁動的web動畫——svg實現煙花

躁動的web動畫——svg實現煙花

1.目標——svg煙花(難度:4.3

本期我們的目標是當滑鼠點選頁面時,點選處會綻開彩色的煙花. 煙花會逐漸滑落消失,滑落時會留下軌跡.煙花每個分支的形狀為實心或空心的各種形狀.

2.分析需求——庖丁解牛

1.滑鼠點選頁面時,需將滑鼠的clientX,clientY這個視窗座標,轉換成SVG的畫布座標,以便以該座標為中心,生成煙花

2.煙花有很多,要儘量避免在文件中頻繁地插入刪除SVG節點,否則效率很低,我們維護兩個佇列,一個儲存動畫節點,一個存放備用節點,用JS寫個連結串列類,因為連結串列的插入刪除比陣列快

3.煙花綻開時,每個煙花都會從煙花中心飛出,有個隨機的初始速度,同時自由落體,這個動畫需要自己實現,而不是藉助

SMIL動畫,所以本案例相容性很好

4.另外本例需要讀者具備JS物件的相關基礎知識

。。。

更多內容歡迎大家掃碼訂閱《躁動的web動畫》,有更多精彩動畫的教程和原始碼,每週更新