I really am having troubles understanding the behavior of the command GetSpriteAngle() and I'm wondering if it's a local vs world coordinate thing that I know I'm just missing somehow....
GetSpriteAngle() seems to operate in two different worlds where one has 360 degrees in a circle, and the other splits the circle up into halves where 0 to 180 degrees is the "lower" 1/2 of the circle (going from +0:right to +180:left) and the "upper" 1/2 of the circle is -180 degrees down to 0 (going from -180:left to -0:right).
Here's the problem: I find that when I write any standard code to rotate a sprite around it's default center rotation point (no offsets) using SetSpriteAngle() and then use GetSpriteAngle() to display the exact angle in degrees it will display the coordinates of the 360 degree coordinate system during the actual physical rotation on the screen (during real movement), but when it stops moving it reverts to the +180/-180 degree coordinates which it returns as the garnered angle.
All I use to display the angle is a simple command much like this:
Print("Sprite Degrees: "+Str(GetSpriteAngle(MySpriteID)))
I know I'm missing something simple but I just can't see it at the moment ... any suggestions would be greatly appreciated ...
----
From the Desk of Prof Versaggi ...