well, what you need to do is work out the shortest route to the angle
you want.
i think it would go something like this
first compute the difference in angles :
angleDiff = abs(destAngle - sourceAngle)
if its greater than 180 degrees, you want to go the other way.
to find that, check which angle is bigger.
goClockwise = sourceAngle > destAngle
So, if you are at 5 degrees and you click at 355 you get :
angleDiff = 355 - 5
= 350
goClockwise = false
and if you are at 355 and want to go to 5
angleDiff = 5 - 355
= 350
goClockwise = true
then find out how far to go :
howFar = 360 - angleDiff
and if you want to go anticlockwise, make it negative
THEN, keep the original angle stored, run the tween from 0 -> howFar and
add it to the original angle at each step.
i think this means you wont be able to get the tween to change _rotation
directly, but rather you'll have to get a callback or something similar
to grab the current tween position. (or you could do something nifty
with nested movieclips and rotate the parent without tweening first, so
you can just modify the rotation of the child from the tween, but that
may be more trouble than its worth..)
anyway, i think that should work, im just working it out as i go along
so it could fail for some cases...this may be where i was thinking about
the quadrant checks, but im not sure.
i'll give it a try in a while, ive got non-computer things to do now. :)
thanks,
Martin
eric dolecki wrote:
Its that last part frying me - sometimes it works as expected, other times,
it decides to rotate the long way around :/
thanks all.
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders