I have looked at the pygame documentation, but it's not clear from it why blitting an image and subtracting the camera coordinates from it works creating the effect of a moving camera.
Example (assuming pygame initialization is all done)
screen.blit(background, (0-posX,0 - posY)
screen.blit(player, (playerX - posX, playerY - posY)
Looping through this produces the desired effect of moving the camera around. But, I would have thought since the screen is defined with (0,0) being at the top of the screen that I would need to add camera coordinates rather than subtract them.
Can somebody explain what I'm missing in how the blit function works? It seems counter intuitive to me.