公眾號彈幕效果實現解析
這篇會介紹一些基本概念,後面不會再介紹。
用過i排版的應該有看到i排版的 特色樣式 那有一個 彈幕樣式 ,不過有的是需要VIP才可以使用,現在教一種簡單的使用方法,也適用於其餘樣式的使用。
點選你想要的彈幕樣式放入編輯器內,然後點選編輯器右上角的HTML。

你會看到上圖,包含在<svg></svg>這兩個標籤之間的即為彈幕效果的程式碼。如果你只是想簡單的替換文字,效果不變,那把<text></text>內的漢字改為你想要的漢字就可以了。然後在 程式碼模式 中,有裝新媒體管家或者是壹伴外掛的,可以通過右上角的 </> 或 html 開啟程式碼模式 , 把<svg></svg>這一段程式碼複製到公眾號圖文的程式碼格式中,再切換回來就可以看到彈幕效果的實現了。
好了,簡單的講完,吃瓜的看到這裡就可以,接下去是詳細講解每一個程式碼的意思,自行對照上圖 綠顏色 標籤, 藍顏色 屬性, 紅顏色 屬性值理解,找不到顏色那我們之間肯定有一個是色盲。
標籤一般分為兩個,一個是開始標籤,如<svg>;一個是結束標籤,比開始標籤多一個“/”,表示閉合。
標籤<svg>指的是畫布,可以通過width和height調節畫布的大小,單位有px、em、pt。
屬性background是背景顏色,格式可以有十六進位制顏色碼或RGB格式,簡單一點的可以用英文表示,如red、black、purple等。
屬性box-sizing是盒模型的樣式,一般可以不用設定,預設就行。
標籤<text>顧名思義,文字,在標籤間輸入文字即會在前端展示文字。
屬性x、y指的是距離左邊和上邊的距離,同樣適用於<svg>。
屬性fill在這裡指的是文字顏色,顏色格式同背景顏色。
屬性font指的是字型,有多種屬性。font-family字型樣式,如微軟雅黑。font-size字型大小。font-weight字型粗細。

x、y演示
標籤<animate>是SVG動畫的基礎,和<animateTransform>一樣,只是屬性效果不一樣。<animate>的屬性有x、y、opacity透明度、weight寬度、r半徑(適用於圓形circle)、fill、stroke(描邊)等,<animateTransform>的屬性有translate平移、scale縮放、rotate旋轉、skew傾斜。
在<animate>中,使用屬性attributename確定要變換的屬性,用from和to確定變換的初始值和結束值,效果會根據值線性變化,也可以使用values來填寫多個值,如attributename="x",values="800;400;-400",即圖形會從x軸800的位置先變換到400處,再變換到-400處。
屬性begin為效果開始的時間,可以設定為多少s,也可以設定為click點選後開始,dur為持續的時間,end則為結束的時間。
屬性repeatcount為效果迴圈的次數,可以有數字表示迴圈幾次,indefinite表示無限迴圈。如果迴圈設定了fill="freeze",有限次數迴圈結束後,物件則會停留在最後的位置,沒設定則會回到起始位置。
在<animateTransform>中,attributename的值統一為transform,是用type來確定是translate還是scale等型別。其餘的begin、values等屬性都和<animate>中的屬性一樣設定,有區別的是這裡的values牽扯到座標,如rotate的values="0 x1 y1;360 x2 y2"指的是圍繞座標從0度轉到了360度。建議去了解下rect矩形、circle圓形、ellipse橢圓等來了解座標。還有就是多個<animateTransform>效果疊加,需要有additive="sum",效果前後不一樣,最後的效果也會不一樣。
講到這裡就結束了,動作快的已經直接在i排版的html格式中調整操作。