Thanks for taking a look!
Unfortunately this is not quite what I'm looking for. You've got the pixel by pixel bit, but not the 16x16 tile-based bit.
Let me try describing what I'm looking for another way.
You can think of this background map as consisting entirely of 16x16px tiles, which are fit together to make a map. They used to do this because it allowed them to reuse specific "tiles" in the same map, and save space on old game cartridges.
The player sprite is also 16x16px, and so takes up the same space as one tile.
What I am looking for is when the user presses a direction on the keyboard (this can be just a tap), the player sprite will move from one tile to the tile adjacent in the direction pressed, but also for the movement to be shown, instead of just teleporting from one tile to the next.
It is very important to me that the player always end up on one of these 16x16 tiles. With the pixel by pixel movement in your example, the player sprite could end up with 8 pixels on one tile, and 8 pixels on another (essentially putting them between tiles).