我正在嘗試動畫實際上是圖像的氣球。爲此,我創建了CALayer的子類,它在內容中顯示圖像,並最終將此子類的多個對象添加到viewcontroller的視圖中。需要關於多個圖層的動畫位置的幫助
一旦我調用一個函數「反彈」這個子類的每個對象。所有這些圖層(氣球)的位置都是以這樣的方式開始動畫的,即它會在視圖邊界周圍產生反彈效果。它通過調用方法「stopBouncing」來不斷改變層的位置,直到它停止。
現在問題是,如果氣球的數量很高,層中會出現閃爍現象,並且性能也不好。
如果有人能夠幫助我有效地執行此類要求,我將非常感激。
注意:這是iPhone版本。
一片全代碼:
-(void)bounce
{
self.position=CGPointMake(self.position.x+self.moveOffset.x,self.position.y+self.moveOffset.y);
if(self.position.x>self.maxBoundary.x || self.position.x<self.minBoundary.x)
{
self.moveOffset.x=-self.moveOffset.x;
}
if(self.position.y>self.maxBoundary.y || self.position.y<self.minBoundary.y)
{
self.moveOffset.y=-self.moveOffset.y;
}
}
這裏,moveOffset是x軸和這將通過層中的時間間隔內行進y軸的距離。
使用組動畫。看到這篇文章http://stackoverflow.com/questions/10938223/how-can-i-create-an-cabasicanimation-for-multiple-properties – Mani
感謝您的迴應。據我所知,組動畫是爲了在一個圖層上應用多個動畫。但我的要求是同時動畫多個圖層,圖層數取決於記錄數(意思是它的變量)。動畫的種類是單一的,但它是無限的,它將繼續移動圖層的位置。 – Viren
否否。羣組動畫可以在時間播放多個圖層動畫,也可以串行動畫。它基於動畫開始和結束時間計算。 – Mani