I think your problem might be this. Let's say I have a @window at (9, 14), and I would like to move it to (0, 0) at a speed of 2 pixels per frame.
@window.x_move_to(0, 2)
@window.y_move_to(0, 2)
So the first time the update and move occurs the window's position should be (7, 13) then (5, 11), (3, 9), (1, 7), (-1, 5). On no. Now here's where the jitterbug begins. The window will continually correct itself because it can't reach 0 on the x or the y. The window will flip between, (-1, -1) and (1, 1). Thus the dance. You need to institute some corrective checking or toggle some kind of boolean to disable the move_to's from being called.
Good luck with it Kain Nobel! :thumb: