Probably the easiest is to have a lot of variables as follows. Pos is a value from 0 to 1 that when used with lerp can give an angle between the start and end angles.
variable start_angle
variable end_angle
variable pos
every tick
--> add dt to pos
pos>1
---> set pos to 1
every tick
---> set angle to anglelerp(start_angle, end_angle, pos)
Start of layout
---> set start_angle to 0
---> set end_angle to 90
---> set pos to 0
That's the long version. You can simplify it but it becomes less readable.
The "start of layout" condition is an example how to use it. You need to set the start and end angles and reset pos to 0.
Also the transition will take one second. You can make it faster or slower by adding another value to "pos".
Ex.
2*dt for 0.5 seconds
0.5*dt for 2 seconds
0.1*dt for 10 seconds
Finally it's a linear angle change, although you can make it ease in-out by changing:
anglelerp(start_angle, end_angle, pos)
to
anglelerp(start_angle, end_angle, cubic(0,0,1,1,pos))
Thanks, trying this but it seems to use a fixed sort of positionig for the angle, due to using "set the angle"? At the moment, my rotation is using "rotate angle by -100dt degrees", so when it starts and stops rotating, it always sorts and stops from the same point, whereas by using the pos variable, it seems to have a fixed start and stop angle. Can this be adapted for use with "rotate angle by degrees"?