im just learning pygame, i made a small surface move around according to key board presses. i update the screen with pygame.display.update(). i learned however, that you can dictate which rect to update, making the processing faster. here is the code, then ill explain the problem..

PHP Code:
import pygame
from pygame
.locals import *
pygame.init()
screen=pygame.display.set_mode((300,300))
player=pygame.Surface((20,20)).convert()
player.fill((255,255,255))
prct=player.get_rect()
while 
1:
    for 
event in pygame.event.get():
        if 
event.type==KEYDOWN:
            if 
event.key==K_UP:
                
prct=prct.move([0,-1])
            if 
event.key==K_DOWN:
                
prct=prct.move([0,1])
            if 
event.key==K_RIGHT:
                
prct=prct.move([1,0])
            if 
event.key==K_LEFT:
                
prct=prct.move([-1,0])
    
screen.fill((0,0,0))
    
screen.blit(player,prct)
    
pygame.display.update() 
when i put in prct as the parameter in update, nothing is updated, all of the white boxes remain. when i enter player.get_rect() as the parameter, the box can move, but it moves in this frame which is basically the original box outline. thats the only place its visible, inside the original outline. once it moves out, it starts to disapear. how is this supposed to work?