2010-12-03 66 views
2

我正在創建翻轉動畫庫(這裏是演示示例:http://yfrog.com/7alhoz)。CATransform3DMakeRotation和shadow

用兩個詞來說,我創建了CALayer並使用CoreAnimation的CATransform3DMakeRotation旋轉它。

問題是 - 有沒有辦法給該場景添加陰影?無需用OpenGL重寫整個代碼:)

謝謝。

回答

0

看一看CAGradientLayer。我目前正在使用它在類似的情況下添加陰影。可能是昂貴的性能方面(仍然必須檢查),但看起來很有說服力。

CAGradientLayer作爲子圖層添加到您的圖層併爲其設置動畫opacity。你可能不得不使用漸變停止和顏色來讓它們正確。

0

我不知道OpenGL但你檢查CATransform3D

添加

#define DEGREES_TO_RADIANS(d) (d * M_PI/180) 

在.PCH文件

CATransform3D myTransform = CATransform3DIdentity; 
myTransform.m34 = 1.0/-500; 
myTransform = CATransform3DRotate(myTransform, DEGREES_TO_RADIANS(90), 0.0f, 0.0f, 1.0f); 
myView.layer.transform = myTransform; 

你可以去這裏改變角度DEGREES_TO_RADIANS(90)

在這裏你可以添加陰影到myView

希望這會對你有所幫助。