Yeah i probably screwed something up.
your approach uses a function to spawn the object and then control it.
My approach is to spawn the object, then change the variables inside it to make it go.
a=instance_create(x,y,objSpiralCherry);
a.direction=0;
a.spiral_factor=10; // variable defined to 0 by default in create event.
a.speed=5;
and off it goes.
this DOES work with the ratio formula fine as i posted above, but i've only been able to get outward spirals. i've tried to make it move the opposite direction by adding 180, but all that does is rotate the outward spiral itself.
Okay i'm completely puzzled.
I've tried manually setting the center, and no matter WHAT i do, it somehow snaps onto a spiral, and then spirals outwards! i've tried negative speed (that just rotates the spiral 180), i've tried adding 180 to the directions (whihc does the same thing), but absolutely nothing works. the object always snaps onto a spiral going out. if i multiply the direction by negative 1, i get clockwise instead of counter clockwise.
if the spiral factor is too big for the speed (higher speeds need smaller spiral factors), it starts jittering, but still overall follows an outward spiral.