这一个已经被我发疯...强制CALayer的旋转方向?
考虑到“面”是一个CALayer的,我在X轴旋转它:
plane.transform = CATransform3DMakeRotation(180 * M_PI/180.0f, 1.0f, 0.0f, 0.0f);
,这使得它顺时针旋转,这是完美的。
现在,在某个时间点,我想它返回到0度,所以我使用:
plane.transform = CATransform3DMakeRotation(0 * M_PI/180.0f, 1.0f, 0.0f, 0.0f);
的事情是......它是反时针方向,这是不是我想要:(
我猜它使用最短的旋转路径,但即使我告诉它去360度,而当它完成,我告诉它重新开始动画,它从360开始去180,它向后而不是正确的方向。
有没有办法解决?
我会在的Actionscript做将是:
if (plane.rotationX == 360) plane.rotationX = 0;
而且它会很好地恢复,但如果我这样做,是因为使用了动画的CATransform3DMakeRotation两个转变发生碰撞,(我认为),它会变得混乱。
任何帮助将不胜感激!
感谢
我看到这是一个恶棍:( – Andre 2010-07-15 15:18:30