2010-04-14 63 views
0

在我的iPhone應用程序中,我試圖獲得一些在屏幕上滾動的紅色和白色條紋,以在條紋速度變高時平滑地進行動畫製作。在我的應用程序中,用戶啓動動畫並通過手指輕掃來改變滾動速度,並通過雙指捏合來改變條紋的寬度。響應雙擊,動畫停止。如果速度變高或條紋變窄,動畫不再順暢。條紋的邊緣似乎在跳動。使用核心動畫的生澀動畫

動畫很簡單。我在一個比屏幕大一點的圖層中繪製條紋。然後,我設置一個動畫,將圖層位置從一個紅色條紋移動到另一個紅色條紋的距離。持續時間由手指滑動的速度設置,重複次數爲1.當動畫停止時,委託檢查標誌以查看用戶是否想停止滾動。如果不是,則動畫再次重新開始一個循環。有沒有更好的方法來做到這一點,以便動畫在高速或狹窄條紋下平滑?

Thanks--

回答

1

副手的猜測:由於每個動畫包括一對條紋的距離,因爲你降低條紋的寬度,每秒的動畫數量就上去了,所以比例花費時間設置新的動畫並重置圖層隨着寬度的下降而上升。

然後,修正將增加每個動畫覆蓋的距離,因爲條紋變窄。因此,不是從一個紅色條紋動畫到另一個,而是動畫到第n個條紋。如果隨着條帶變小而增加n,則可以使每秒的動畫大致保持穩定。

就動畫每秒而言,提高速度與縮小條相同。所以修正是一樣的:隨着速度的提高,增加n。

+0

絕妙的主意!您是否瞭解如何確定動畫的幀速率和插值?如果我知道我可以制定一個算法來保持幀頻恆定和低 – 2010-04-14 15:48:45