Apologies if this has been posted about before... I took a look and couldn't see anything about it, but surely someone else has hit this.....
If I run the following code, it works perfectly. The object rotates slowly around the Y axis and its angle is printed accurately in the top-left. The angle is even automatically wrapped, which is nice.
temp = CreateObjectBox(10, 10, 10)
do
SetObjectRotation(temp, 0, GetObjectAngleY(temp)+1, 0)
print(GetObjectAngleY(temp))
sync()
loop
But if I try and do this for X axis rotation, the rotation locks up just before 90 degrees and I get gymbal jitter, which is reflected in the printed value.
temp = CreateObjectBox(10, 10, 10)
do
SetObjectRotation(temp, GetObjectAngleX(temp)+1, 0, 0)
print(GetObjectAngleX(temp))
sync()
loop
Things get even more weird if I do this on the Z axis. Check out what the printed value does when running this:
temp = CreateObjectBox(10, 10, 10)
do
SetObjectRotation(temp, 0, 0, GetObjectAngleZ(temp)+1)
print(GetObjectAngleZ(temp))
sync()
loop
There's either something very intrinsically wrong here or I'm missing something obvious...
I work full-time making games in AGK2 and DBpro. Living the dream!