貝塞爾幀動畫的結合使用

2021-08-07 13:58:36 字數 999 閱讀 5222

先看看效果

本文主要講述love動效的製作。

首先我們要得到乙個love路徑,這個路徑用uibezierpath來製作。

然後生成乙個uiview,它的layer加上cakeyframeanimation,而cakeyframeanimation的路徑是love路徑。

把uiview的layer加入careplicatorlayer。並對設定careplicatorlayer相應屬性即可。

基礎知識

使用uibezierpath可以建立基於向量的路徑,此類是core graphics框架關於路徑的封裝。使用此類可以定義簡單的形狀,如橢圓、矩形或者有多個直線和曲線段組成的形狀等。

uibezierpath是cgpathref資料型別的封裝。如果是基於向量形狀的路徑,都用直線和曲線去建立。我們使用直線段去建立矩形和多邊形,使用曲線去建立圓弧(arc)、圓或者其他複雜的曲線形狀。

使用uibezierpath畫圖步驟:

建立乙個uibezierpath物件

呼叫-movetopoint:設定初始線段的起點

新增線或者曲線去定義乙個或者多個子路徑

改變uibezierpath物件跟繪圖相關的屬性。如,我們可以設定畫筆的屬性、填充樣式等

careplicatorlayer可以複製自己子層的layer,並且複製的出來的layer和原來的子layer擁有相同的動效。然後通過設定一些屬性,就可以完成很酷的效果,非常強大。。

使用貝塞爾曲線實現關鍵幀動畫

貝塞爾曲線,可以通過三個點,來確定一條平滑的曲線。在計算機圖形學應該有講。是圖形開發中的重要工具。實現的是乙個圖形做圓周運動。不過不是簡單的關鍵幀動畫那樣,是計算出了很多點,當然還是用的關鍵幀動畫,即使用cakeyframeanimation。有了貝塞爾曲線的支援,可以賦值給cakeyframean...

貝塞爾曲線動畫簡單使用

不廢話直接上 public class bezierevaluator implements typeevaluator 呼叫上面的class例如在mainactivity中,可以用下面的方法 private void curve final framelayout layout,int timer...

貝塞爾曲線使用

貝塞爾曲線數學公式 1。兩個控制點 線性公式 x 1 t x0 t x1 0 t 1 y 1 t y0 t y1 0 t 1 2.三個控制點 二次公式 x 1 t 1 t x0 2 t 1 t x1 t t x2 0 t 1 y 1 t 1 t y0 2 t 1 t y1 t t y2 0 t 1 ...