利用Canvas實現直播時點讚冒氣泡的效果
先發Canvas實作直播點讚氣泡效果圖:
#實作細節:
##1.JS:drawImage:function(data){ var that = this var p10= data[0][0]; /* 三阶贝塞尔曲线起点坐标值*/ var p11= data[0][1]; /* 三阶贝塞尔曲线第一个控制点坐标值*/ var p12= data[0][2]; /* 三阶贝塞尔曲线第二个控制点坐标值*/ var p13= data[0][3]; /* 三阶贝塞尔曲线终点坐标值*/ var p20= data[1][0]; var p21= data[1][1]; var p22= data[1][2]; var p23= data[1][3]; var p30= data[2][0]; var p31= data[2][1]; var p32= data[2][2]; var p33= data[2][3]; var t = factor.t; /*计算多项式系数 (下同)*/ var cx1 = 3*(p11.x-p10.x); var bx1 = 3*(p12.x-p11.x)-cx1; var ax1 = p13.x-p10.x-cx1-bx1; var cy1 = 3*(p11.y-p10.y); var by1 = 3*(p12.y-p11.y)-cy1; var ay1 = p13.y-p10.y-cy1-by1; var xt1 = ax1*(t*t*t)+bx1*(t*t)+cx1*t+p10.x; var yt1 = ay1*(t*t*t)+by1*(t*t)+cy1*t+p10.y; var cx2 = 3*(p21.x-p20.x); var bx2 = 3*(p22.x-p21.x)-cx2; var ax2 = p23.x-p20.x-cx2-bx2; var cy2 = 3*(p21.y-p20.y); var by2 = 3*(p22.y-p21.y)-cy2; var ay2 = p23.y-p20.y-cy2-by2; var xt2 = ax2*(t*t*t)+bx2*(t*t)+cx2*t+p20.x; var yt2 = ay2*(t*t*t)+by2*(t*t)+cy2*t+p20.y; var cx3 = 3*(p31.x-p30.x); var bx3 = 3*(p32.x-p31.x)-cx3; var ax3 = p33.x-p30.x-cx3-bx3; var cy3 = 3*(p31.y-p30.y); var by3 = 3*(p32.y-p31.y)-cy3; var ay3 = p33.y-p30.y-cy3-by3; /*计算xt yt的值 */ var xt3 = ax3*(t*t*t)+bx3*(t*t)+cx3*t+p30.x; var yt3 = ay3*(t*t*t)+by3*(t*t)+cy3*t+p30.y; factor.t +=factor.speed; ctx.drawImage("../../images/heart1.png",xt1,yt1,30,30); ctx.drawImage("../../images/heart2.png",xt2,yt2,30,30); ctx.drawImage("../../images/heart3.png",xt3,yt3,30,30); ctx.draw(); if(factor.t>1){ factor.t=0; cancelAnimationFrame(timer); that.startTimer(); }else{ timer =requestAnimationFrame(function(){ that.drawImage([[{x:30,y:400},{x:70,y:300},{x:-50,y:150},{x:30,y:0}],[{x:30,y:400},{x:30,y:300},{x:80,y:150},{x:30,y:0}],[{x:30,y:400},{x:0,y:90},{x:80,y:100},{x:30,y:0}]]) }) }}
a. 透過繪製三個不同的三階貝塞爾曲線,選取三張圖片讓其沿著各自的貝塞爾曲線運動,運動軌跡如下圖:
b.計算三階貝塞爾曲線x(t),y(t)的數學表達式。
三階貝塞爾曲線是透過四個點來形成一條曲線,兩個控制點,一個起點一個終點。
利用多項式係數即可得到x(t),y(t)的數學表達式:
cx = 3 * ( x1 - x0 )bx = 3 * ( x2 - x1 ) - cxax = x3 - x0 - cx - bxcy = 3 * ( y1 - y0 ) by = 3 * ( y2 - y1 ) - y0 y3 - y0 - cy - byx(t) = ax * t ^ 3 + bx * t ^ 2 + cx * t + x0y(t) = ay * t ^ 3 + by * t ^ 2 + cy * t + y0
這裡畫了三條貝塞爾曲線,套用公式三次即可,這裡沒有採用循環,如果貝塞爾曲線條數比較多時,可採用循環調用ctx.drawImage,其中factor.t為三階貝塞爾曲線的參數,取值範圍[0,1], 最後調用ctx.draw(),並且設置定時器即可實現圖片沿著貝塞爾曲線運動。
3.Tip:
這裡採用的定時器是透過requestAnimationFrame()函數實現的, 棄用setInterval的原因是實際測試中有卡幀現象並且動畫顯示有細微的不連續。
以上是利用Canvas實現直播時點讚冒氣泡的效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

直播卡頓是網路問題和視訊來源問題造成的。其解決方法如下:1、網路頻寬不足,升級網路頻寬,或盡量避免同時使用其他佔用網路頻寬的設備;2、網路延遲,優化網路連線,減少網路延遲;3、網路不穩定,檢查網路設備,確保網路連線穩定;4、視訊來源伺服器負載過高,選擇一個負載較低的視訊來源,或等待高峰期過去;5、視訊來源品質不佳,選擇一個品質較好的視訊來源或升級自己的網路頻寬;5、視訊來源被壓縮等。

點擊創作者服務中心,點擊開始直播,選擇內容主題即可開始直播。教學適用型號:iPhone13系統:iOS15.8版本:抖音20.9.0解析1在抖音個人首頁點選右上角三橫線。 2在選單列點選創作者服務中心。 3創作者服務中心點選全部分類。 4進入功能列表,點選開始直播。 5選擇內容話題,點選開始視訊直播即可。補充:抖音怎麼刪除作品1先進入抖音我的頁面,在作品下方點擊影片。 2進入影片頁面,點選右側的三點圖示。 3在底部彈出的選單列中,點選刪除圖示。 4最後在底部彈跳窗的提示中,點選確認刪除即可。總結/注意事項開直

小紅書都是一款你們非常熟悉的生活社區平台應用,這裡的功能多多,真的都能夠讓大家任何的時候,都能看到各種各樣的資訊內容,筆記十分多,圖文並茂的,都能夠讓大家非常的滿意,且有些時候都能夠看到一些直播間的,所以大家也是產生了自己想開通直播的,能和大家一起聊聊天的,卻不知道怎麼開通直播的,下面小編也能為你們帶來具體的操作方法,希望能幫助你們的。小紅書開啟直播方法: 1、先打開小紅書,點選首頁底部的+。 2、然後切換至直播,點擊開始直播入口。

很多新手小夥伴還不了解抖音怎麼直播,所以下面小編就帶來了抖音直播的詳細教程哦,有需要的小伙伴趕緊來看一下吧。第一步:先打開抖音軟體進入到抖音頁面之後點選頁面正下方的【加號】圖標,如下圖所示;第二步:進入都該頁面之後點擊右下角的【開直播】,如下圖所示;第三步:進入到此頁面之後在頁面上面可以選擇看什麼樣的直播,選擇好之後點擊【開始直播】即可,如下圖所示。上面就是小編為大家帶來的抖音怎麼直播的全部內容,希望對大家能夠有所幫助喔。

朋友們知道PotPlayer怎麼看直播嗎?今天小編就來講解PotPlayer看直播教程,有興趣的快跟小編一起來看看吧,希望能夠幫助到大家呢。首先我們打開PotPlayer,然後選擇軟體右下角的多功能側邊欄,然後我們進行點擊;參考下圖然後會彈出一個播放列表,我們可以選擇「新增」選項,在這裡可以對直播的設定進行調整和添加。這時候我們在彈出的下拉框中,我們選擇添加鏈接,當然如果我們有直播源的文件的話,我們直接選擇添加文件,然後將文件進行導入也是可以的。然後我們在彈出來的地址框中,我們輸入自己想要觀看

小紅書直播怎麼看回放,在小紅書APP中是可以觀看直播回放的,多數的用戶不知道如何觀看直播回放,接下來就是小編為用戶帶來的小紅書直播看回放方法圖文教程,有興趣的用戶快來一起看看吧!小紅書使用教程小紅書直播怎麼看回放1、先打開小紅書APP,進入到主頁點擊右下角【我的】;2、之後在我的功能專區,選擇左上角的【三個橫線】;3、然後左側展開功能欄,點選其中的【創作中心】;4、接著進入到創作服務的頁面,選擇【主播中心】;5、最後跳到下圖的頁面,點選【直播回放】即可。

抖音是國內特別受歡迎的短片播放軟體。很多朋友會用這個軟體來觀看短片。但在使用電腦的過程中,他們也會上傳影片於直播,今天就讓小編為大家解答一下抖音電腦版怎麼直播以及抖音電腦版怎麼上傳影片的吧。一、抖音電腦版怎麼直播抖音是一款由位元組跳動公司推出的短影片分享平台,於2016年9月正式上線。它以其獨特的內容形式和創新的用戶體驗迅速走紅,成為全球最受歡迎的社交媒體應用程式之一。抖音的核心特點是使用者可以透過拍攝和編輯15秒的短影片來展示自己的才藝、生活和創意。 UGC模式:抖音採用使用者生成內容(UGC)模式

如何在uniapp中實現短視頻和直播功能隨著移動互聯網的發展,短視頻和直播成為了社交娛樂領域的熱門趨勢。在uniapp中實現短視訊和直播功能可以讓開發者創造出更具吸引力和互動性的應用程式。本文將介紹如何在uniapp中實現短影片和直播功能,並提供具體的程式碼範例。短影片功能的實現短影片功能主要包括錄影、編輯和分享。以下是在uniapp中實現短影片功能的步驟
