Yeah, I actually have been thinking a lot about the real position and the intended position stuff -- I didn't list it in my original post because I couldn't really figure out how I would do it, but perhaps I should just dive in head first and go for it. (I'm not a very smart programmer
)
Well, take a look at the code I provided... in the simple form I gave, it's pretty easy. Depending on the physics of your world, you might not want to have it go straight to top speed as soon as the obstruction is removed... you could have it accelerate over the course of three or four frames, but that's a refinement.
Incidentally, this trick is something you'll also want to use if you ever do an Arkanoid-type paddle game, to avoid the controls being too twitchy - the mouse position is the intended, and the paddle constantly moves towards the intended position at up to its max velocity.