您好,登錄后才能下訂單哦!
這篇文章主要介紹使用vue如何實現滅霸打響指英雄消失的效果,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
寫在前面
滅霸打響指的消失效果。效果來源于 Google 搜索“滅霸” 或者 “thanos”。算是蹭熱度的一個 Feature, 我通過 F12 試圖去查看是如何實現的,也摳了一些音頻、圖片資源下來。后來在 github 上找到了一個現有的項目 Thanos_Dust, 所以參考了部分它的代碼。 其實它的代碼已經算比較完善了,在它的基礎上,我用 vue 來寫了一下,加了一些英雄,修復了一些 bug ,加了一些效果之類的。
demo
點擊一下手套,伴隨音效和響指的動畫,會有一半的英雄消失。
消失之后,再點一下,消失的英雄又會回來。
細節
隨機選取一半的英雄,是通過下面的算法進行選取的:
arr.sort(function() { return 0.5 - Math.random(); });
被選中的英雄灰飛煙滅的效果解釋:
使用 html2canvas
庫將每一個英雄所在的 dom 節點渲染為一個 canvas 節點
通過 generateFrames
方法,將整塊的 canvas 畫布圖像按像素分割成許多塊
創建一個跟選中的英雄所在的 dom 節點同一個位置、同樣的大小的容器覆蓋原 dom 節點
把第二步創建的塊繪制到新的畫布上,并都通過 appendChild 方法添加到第三步創建的父容器中
隨機設置每一塊的 rotate 角度和 translate 像素,就能完成灰飛煙滅的效果
將被覆蓋的英雄的 dom 節點設置為不可見的,就完成了響指操作。
翻轉時間,英雄又回來的效果是將原來的 dom 節點設置為可見的,并加了回復動畫。( google 的原版恢復動畫是將 color 設置為 green ,因為這里沒什么文字效果并不明顯,就設置成了 background-color
)
以上是“使用vue如何實現滅霸打響指英雄消失的效果”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。