微信 彈幕是怎麼搞出來的,看svg!

2021-07-10 04:45:56 字數 2873 閱讀 1048

123123
2.svg

什麼是svg呢?svg為什麼就能在手機上面跑呢?svg怎麼搞呢?

這時候就需要我們的啟蒙老師了w3cschool是吧!

來看看上面是怎麼寫的:

html5 支援內聯 svg。

什麼是svg?

svg 指可伸縮向量圖形 (scalable vector graphics)

svg 用於定義用於網路的基於向量的圖形

svg 使用 xml 格式定義圖形

svg 影象在放大或改變尺寸的情況下其圖形質量不會有損失

svg 是全球資訊網聯盟的標準

這兩段話就很重要了,html5支援內聯svg是吧:手機頁面&&html5,是吧,解決乙個問題。

svg是用來畫圖的,實際上也的確如此。看看w3上面的例子,很多就是告訴你如果畫乙個圓,如何畫乙個長方形,如何上色。。。看到後面,你會發現他告訴你可以上漸變色,上面叫漸變色,就是起點到終點的色值是逐漸變化的,有點感覺沒有。有起點,有終點,有漸變,理論上推下來,既然能夠顏色變,能不能位置變,大小變呢?

下面就w3上面的例子來看看怎麼搞:

xmlns=""

width="100%"

height="100%"

version="1.1">

transform="translate(100,100)">

id="textelement"

x="0"

y="0"

style="font-family:verdana;font-size:24"> it's svg!

path="m 0 0 l 100 100"

dur="5s"

fill="freeze">

animatemotion>

text>

g>

svg>

1.xml規則

3.g標籤類似於div,但是不要用div(有興趣的可以研究一下g標籤的屬性,彈幕這裡可以不設定屬性,就是 < g>< /g> 就可以了)

4.text 標籤包含了兩個內容,乙個是文字 it』s svg! ,還有乙個animatemotion標籤

文字好理解,也就是你們彈幕的內容,還有乙個animatemotion就是控制動畫效果的我們後面講;這裡說一下text標籤的屬性,id是非必須的。x,y表示座標,style裡面可以設定字型,但是,但是,但是設定不了文字顏色!!這裡要講乙個屬性:fill,fill=」##bc1717」這樣設定顏色。另外,可以使用font-family、font-size、font-weight屬性設定字型。到此,我們彈幕的子彈就可以準備完畢了,下面就是怎麼樣讓子彈飛起來了。

5.animatemotion標籤,animate就是動畫的意思,我們這裡呢,實際是有這個animate標籤的,我待會兒再說,先把這個官方例子講完。

path屬性,很好理解,就是路徑,m起點,l直線運動到,字母後面的兩個數字分別表示x,y座標,很好理解吧。

dur屬性:duration,就是這個動畫過程持續的時間,注意是持續的時間,是一次完成需要的時間,也就是週期,這個是和marquee不一樣的地方啊。數值越小是越快的,是吧,而彈幕的速度一般都是不一樣的,這個大家就調節一下這個dur的值,記得帶單位。

回到我們的例子,這個例子其實是斜線運動的,彈幕一般是從螢幕右邊到左邊是吧,我們設計的原點座標一般是左上角為 0 0 對吧,所以要相應的修改為類似的,m 200 0 l 0 0(這只是示例一下啊 ,因為這個彈幕的錯亂的感覺不光是速度不同啊。而且這個起點有時候也是不一樣的,能夠理解啊,大家試試怎麼樣才能更凌亂吧,讓子彈非得更嗨!)

後面的fill屬性值freeze,表示運動一次之後就定住了。和我們的需求不一樣對吧,我們是需要他不斷重複運動的。其實,還有個屬性這個例子沒有展現出來,叫做repeatcount:重複多少次,設定為indefinite,就是無限次,也就是不斷重複了。

到目前為止,彈幕是可以做出來的,下面就接著講一下之前提到過的animate標籤

6.animate標籤,這個單詞就是有動畫的意思,而且少了motion運動這個單詞,實際上已經暗示了這個標籤的作用不僅僅是變化位置。大家看下下面這個**,

width="100%"

height="250"

xmlns="">

font-family="microsoft yahei,sans-serif"

font-size="15"

y="50"

x="200"

fill="#5f9f9f">內容2

attributename="x"

from="100%"

to="-200"

begin="0.5s"

dur="3.7s"

repeatcount="indefinite">

animate>

text>

g>

svg>

不詳細講了,這裡animate標籤可以選取text當中的屬性值,讓其從(from)乙個值變化為(to)另外乙個值,

begin是設定動畫從頁面載入之後多久開始的(時間除了有長短,還有起點對吧)。

總結一下吧,

1.svg其實是乙個作圖方式,可以單獨存為.svg的檔案,也可以引入到html中(xlmns)

2.語法結構,成對標籤,svg最外層,g包含所有,text包含文字以及動畫效果

3.animate是動畫的最小單元,乙個text可以包含多個動畫(如:位置,顏色,大小等等)

4.注意:顏色text的fill屬性,可以設定開始時間animate的begin屬性,快慢:animate的dur屬性(值越小越快),

無限迴圈:animate的repeatcount設定為indefinite

5.記得點讚!

微信賣水果怎麼賣出「名堂」出來!

那樣水果微商究竟該當怎樣做微商呢?率先,微商 的水果該當與一般市面上販賣的水果有所沒有同。因為地區的制約,大全體人很少可以享遭到純粹的優良寒帶水果以及一些特別種類。微商能夠從這方面動手,吸收一批喜愛嘗新的消耗者。其次,微商需求保障有一度優良的貨源市面,微商也需求精挑細選,令消耗者購置到的水果剩餘優良...

我是怎麼利用微信做兼職月入1W的

產品有了,也適當的包裝好了,這個時候就可以放到朋友圈去賣了,沒必要等到粉絲很多的時候再放上去,放到朋友圈去賣的時候有很多需要注意的地方,比如你不能一天到晚發布這種產品也就是廣告到朋友圈,你這樣很容易被拉黑的,所以發布這些也是需要技巧的,這裡簡單說幾個技巧,就是每天發布的內容不能超過4次,發布廣告的也...

怎麼徹底刪除微信聊天記錄?是時候學點真正的技術了

怎麼徹底刪除微信聊天記錄 把它放入搜尋框有 2000 多萬的搜尋量,看來對個人隱私保護還是挺重視的。如此高的搜尋量另外也說明乙個問題,那就是還沒有非常好的方法能徹底解決這個問題,不信的話你明白再搜尋試試,這個資料一定會向上攀公升。小編想要大公無私為網路及小夥伴們做點貢獻,今天來分享下怎麼徹底刪除微信...