2

I'm creating the flip animation library.

In two words, I create the CALayer and rotate it using CoreAnimation's CATransform3DMakeRotation.

The question is – is there a way to add a shadow to that scene? Without rewriting the whole code with OpenGL :)

4

2 回答 2

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.

于 2013-09-06T08:36:52.173 回答
0

看看CAGradientLayer。我目前正在使用它在类似情况下添加阴影。在性能方面可能代价高昂(仍然必须检查),但看起来很有说服力。

作为子图层添加CAGradientLayer到您的图层并为其设置动画opacity。您可能需要对渐变色标和颜色进行一些调整才能使它们正确。

于 2012-07-30T19:07:20.687 回答