Hi guys,
This one has been driving me nuts...
Considering "plane" is a CALayer, I rotate it in the X axis:
plane.transform = CATransform3DMakeRotation(180 * M_PI / 180.0f, 1.0f, 0.0f, 0.0f);
And this makes it rotate clockwise, which is perfect.
Now, at some point in time, I want it to return to 0 degrees, so I use:
plane.transform = CATransform3DMakeRotation(0 * M_PI / 180.0f, 1.0f, 0.0f, 0.0f);
The thing is... it does it anti-clockwise, which is not what I want :(
I'm guessing it uses the shortest rotation path, but even if I tell it to go to 360 degrees instead, when it's done and I tell it to restart the animation, it starts from 360 to go to 180, and it goes backwards instead of the right direction.
Is there a way to workaround that?
What I'd do in Actionscript would be:
if (plane.rotationX == 360) plane.rotationX = 0;
And it'd resume nicely, but if I do that using CATransform3DMakeRotation both transformations collide, because of the animation (I think) and it gets messed up.
Any help would be much appreciated!
Thanks