0
我已經創建了執行以下一個3D立方體視圖轉變:有沒有辦法用關鍵點做3D轉換?
- 創建層容器。
- 在2D空間中添加當前視圖。
- 向右側添加下一個視圖並旋轉90度(如在立方體中)
- 執行動畫以旋轉立方體。
下面是該代碼 - 它的工作的罰款。 。 。以下實際問題:
- (CAAnimation*)makeRotationWithMetrics:(BBRotationMetrics*)metrics
{
[CATransaction flush];
CAAnimationGroup* group = [CAAnimationGroup animation];
group.delegate = self;
group.duration = metrics.duration;
group.fillMode = kCAFillModeForwards;
group.removedOnCompletion = NO;
group.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
CABasicAnimation* translationX = [CABasicAnimation animationWithKeyPath:@"sublayerTransform.translation.x"];
translationX.toValue = metrics.translationPointsX;
CABasicAnimation* rotation = [CABasicAnimation animationWithKeyPath:@"sublayerTransform.rotation.y"];
rotation.toValue = metrics.radians;
CABasicAnimation* translationZ = [CABasicAnimation animationWithKeyPath:@"sublayerTransform.translation.z"];
translationZ.toValue = metrics.translationPointsZ;
group.animations = [NSArray arrayWithObjects:rotation, translationX, translationZ, nil];
return group;
}
在動畫的最後,我想執行輕搖,彷彿立方體也安裝在彈簧上。我試過播放一系列動畫來繞Y軸旋轉,逐漸衰減。
我已經建立了一系列動畫製作,但每個那些從原點開始,而不是最後一點層得。 。 。我該如何解決這個問題?一種方法是設置層先上變換分析,
但是,有沒有辦法做到3D與關鍵點轉變?
謝謝大衛。 。 。 CAKeyFrameAnimation可以用於3D變換嗎?你指定的值是什麼? 。 。關於從起點開始,你的意思是我應該避免設置該屬性? (我將它設置爲NO) –
Ahh - 我看到了如何使用3D轉換和旋轉的關鍵幀動畫 - 現在嘗試。 –
好的 - 如果我將最後一個值保存爲值,我仍然可以按照我的方式進行。 。 。但關鍵幀無疑會更好。 –