Here’s the math to rotate around an imagePoint. It can be any x,y point really. Here I’m only rotating by 5 degrees, you can change 5 to anything.
Global number cx=0
Global number cy=0
Every tick
—- set cx to sprite.imagePointX(1)
—- set cy to sprite.imagePointY(1)
—- sprite: rotate 5 degrees clockwise
—- sprite: set position to ( (self.x-cx)*cos(5)-(self.y-cy)*sin(5)+cx, (self.x-cx)*sin(5)+(self.y-cy)*cos(5)+cy )
Another way could be this:
Global number d=0
Global number a=0
Every tick
—- set d to distance(sprite.x,sprite.y, sprite.imagepointX(1), sprite.imagepointY(1))
—- set a to angle(sprite.x,sprite.y, sprite.imagepointX(1), sprite.imagepointY(1))
—- sprite: move -d pixels at a degrees
—- sprite: rotate 5 degrees clockwise
—- sprite: move d pixels at a+5 degrees