我正在写一个iPhone应用程序,并且我有一张我想要向外旋转的图像。我可以使用CGAffineTransformMakeRotation旋转视角超过360度吗?
目前我的代码看起来像这样(包裹在beginAnimations/commitAnimations块):
scale = CGAffineTransformScale(CGAffineTransformIdentity, 5.0f, 5.0f);
swirl = CGAffineTransformRotate(scale, M_PI);
[player setTransform:swirl];
[player setAlpha:0.0f];
但我发现,如果我试图改变旋转的,比如说角度,4 * M_PI,它根本不旋转。是否可以使用CGAffineTransformRotate获得720˚的旋转,还是必须切换到其他技术?
如果我不得不切换到另一种技术,你会推荐使用另一个线程(或计时器)来自己做动画,还是OpenGL会是更好的路线?
谢谢,
布莱克。
很酷。这似乎正在做我所希望的,而且我想我也可以为它添加缩放转换,并自行获取通知给我的课程。 谢谢! – bwinton 2009-02-12 21:02:10
说你必须将动画分成半圈旋转是不正确的。看到我的答案。 – mahboudz 2009-09-14 19:29:37
如果您依赖CATransform3D作为您正在动画的值,那么确实如此。我没有想过你的方法,使用核心动画为变换结构字段提供的关键路径扩展。你是对的,这可能是一个更清晰的方法来解决这个问题。 – 2009-09-14 21:36:21