2015-01-02 85 views
1

我想作動態UIBezierPath似乎正在改變爲下面的視頻動態UIBezierPath

Example of Dynamic BezierPath

我第一次嘗試做點的陣列和畫線之間的他們,那麼改變點我陣列改變路徑,但它並沒有給我完美的視圖

for (int i=0; i<frame.size.width; i++) 
     { 
      [_screenPoints addObject:[NSValue valueWithCGPoint:CGPointMake(i, height)]]; 

     } 

任何人都可以給我一個想法如何使someThing這樣?

回答

2

您可以使用CAShapeLayer和CGPath進行描述。然後創建一個CABasicAnimation,將CGPath的變化動畫化。

(CGPath是underlies UIBezierPaths的核心基礎對象。您可以從UIBezierPath得到CGPath如果你不習慣用CGPath對象的工作。)

訣竅動畫改變的路徑是,該路徑需要在動畫之前和之後保持相同數量和類型的控制點。因此,在您發佈的遊戲視頻中,您會將自己的路線劃分爲固定數量的線段(比如5條線段)。當直線時,它仍然是一組連接的5條直線段,形成一條直線。然後,將其製作爲不同形狀的動畫,您只需移動路徑中的控制點即可。

+0

你好,請你給一個示例參考,你有什麼建議? –

+0

我在Github上有一個名爲[RandomBlobs](https://github.com/DuncanMC/RandomBlobs)的項目,它通過創建一個平滑的多邊形來動畫形狀。您可以忽略平滑部分,只查看用於動畫更改路徑的代碼。它是用Objective-C編寫的,但它應該給你基本的想法。 –