The docs say the Rect.move() can take only integers for the offset parameters. My experiments seem to verify that. This means that it can move an object in only a few directions, i.e., 1,0 for 0 degrees, 1,1 for 45 degrees etc. You can of course increase the magnitudes of the offsets and get more angles, but then it is impossible to create the effect of smooth movement.
My take anyway. Am I missing something?