2012-10-04 52 views
0

我想用圖像數組創建一幀逐幀動畫。iOS幀率 - UIImage總是30fps?

有設置animationDuration,標準值是1

我可以肯定,它始終是30fps的每部iOS設備上,當我開始startAnimating動畫?

所以我需要15秒的動畫1秒 - 是否有一個特殊的計算,我可以使用當我有多於或少於15個圖像,必須在一秒鐘內動畫?

E.g. 60/15 *(計數陣列圖像數)

回答

1

我不認爲你可以指望UIImageViewanimationImages給你30FPS無處不在,每次。

確實,這是爲了非常簡單和「機會主義」的動畫。如果你的谷歌,你會發現reports該方法佔用設備(在特定的條件下)。另一方面,如果你的圖片很小,那麼它很可能會工作,但你沒有任何保證(也沒有辦法強制你需要的FPS)。

所以我需要一個1秒的動畫精確的15張圖片 - 有沒有一個特殊的計算,我可以使用當我有多於或少於15張圖片,必須在一秒鐘內動畫?

如果我理解你的問題的權利,那麼你可以嘗試使用:

duration = number_of_images/FPS; // e.g., 60 images/30 FPS = 2 seconds 
當然

,如果設備即可顯示正常,在30 FPS的60張圖片則是另一回事。

+0

**免責聲明:我找不到這個**的參考**我相信它會跳過圖像,類似於Core Animation在跳過數值時所做的操作,以盡最大努力達到指定的持續時間。我沒有發現這個想法。 –

+0

是通過使用animationImages 30fps的動畫標準? 我的意思是,我如何確保使用1秒的動畫15圖像,而不是20,30或60 ... 有沒有可能讀出實際的fps呢? – user1719539

+0

如果您有15個圖像,並且您使用animationImages和指定1秒的animationDuration通過動畫製作動畫,則您將擁有15fps。如果您將0.5秒指定爲animationDuration或給出30個圖像,則您將擁有30fps。希望這可以幫助。 – sergio