The problem I'm having (and I'll see if I can explain it) is I have a tile based map (using Mappy) and I have a little animated guy running around the map. Now, every time the little guy moves he moves an arbitrary amount of pixels. This represents his speed and needs to remain constant through out the game. Since the map is bigger than the window that contains it the map needs to scroll. The part of the map that is shown while scrolling is represented by a rectangle and it has a coordinate system that is an offset from the coordinates of the little guy. The problem is when I'm on the upper and left side of the map the guy moves the correct amount of pixels and the offset moves the correct amount of pixels. But when the little guy hits a certain point going left or going down he begins to double the amount of pixels he moves each time but the offset moves the correct amount of pixels. Eventually the little guy outruns the offset and goes off screen. I have no idea what is going on behind the scenes to make the little guy suddenly double his movement amount but not the offset. Arrgh!
I hope anyone reading understands.