【发布时间】:2010-12-03 15:42:04
【问题描述】:
我正在创建翻转动画库。
简而言之,我创建了 CALayer 并使用 CoreAnimation 的 CATransform3DMakeRotation 旋转它。
问题是——有没有办法给那个场景添加阴影?无需用 OpenGL 重写整个代码 :)
【问题讨论】:
标签: ios calayer catransform3d
我正在创建翻转动画库。
简而言之,我创建了 CALayer 并使用 CoreAnimation 的 CATransform3DMakeRotation 旋转它。
问题是——有没有办法给那个场景添加阴影?无需用 OpenGL 重写整个代码 :)
【问题讨论】:
标签: ios calayer catransform3d
看看CAGradientLayer。我目前正在使用它在类似情况下添加阴影。在性能方面可能代价高昂(仍然需要检查),但看起来很有说服力。
将CAGradientLayer 作为子层添加到您的层并为其opacity 设置动画。您可能需要稍微调整一下渐变色标和颜色才能使它们正确。
【讨论】:
我不确定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添加阴影。
【讨论】: