貝塞爾幀動(dòng)畫的結(jié)合使用

先看看效果

本文主要講述love動(dòng)效的制作。

首先我們要得到一個(gè)love路徑,這個(gè)路徑用UIBezierPath來(lái)制作。

然后生成一個(gè)UIView,它的layer加上CAKeyframeAnimation,而CAKeyframeAnimation的路徑是love路徑。

把UIView的layer加入CAReplicatorLayer。并對(duì)設(shè)置CAReplicatorLayer相應(yīng)屬性即可。

基礎(chǔ)知識(shí)

使用UIBezierPath可以創(chuàng)建基于矢量的路徑,此類是Core Graphics框架關(guān)于路徑的封裝。使用此類可以定義簡(jiǎn)單的形狀,如橢圓、矩形或者有多個(gè)直線和曲線段組成的形狀等。

UIBezierPath是CGPathRef數(shù)據(jù)類型的封裝。如果是基于矢量形狀的路徑,都用直線和曲線去創(chuàng)建。我們使用直線段去創(chuàng)建矩形和多邊形,使用曲線去創(chuàng)建圓?。╝rc)、圓或者其他復(fù)雜的曲線形狀。

使用UIBezierPath畫圖步驟:

創(chuàng)建一個(gè)UIBezierPath對(duì)象

調(diào)用-moveToPoint:設(shè)置初始線段的起點(diǎn)

添加線或者曲線去定義一個(gè)或者多個(gè)子路徑

改變UIBezierPath對(duì)象跟繪圖相關(guān)的屬性。如,我們可以設(shè)置畫筆的屬性、填充樣式等

CAReplicatorLayer可以復(fù)制自己子層的layer,并且復(fù)制的出來(lái)的layer和原來(lái)的子layer擁有相同的動(dòng)效。然后通過(guò)設(shè)置一些屬性,就可以完成很酷的效果,非常強(qiáng)大。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容