Try this. import pygame from pygame import Color, KEYDOWN w,h=800,200 fps=60 pygame.init() screen = pygame.display.set_mode([w, h]) color=pygame.Color("white") clock=pygame.time.Clock() radius=20 x,y=800,100 speedx=-4 def get_bbox(x,y): left = x - radius + speedx top = y - radius width = radius * 2 + abs(speedx) * 2 height = radius * 2 return pygame.Rect((left, top), (width, height))
while True: old_x=x x+=speedx screen.fill(pygame.Color("black"),get_bbox(old_x,y)) pygame.draw.circle(screen, color, (x, y), radius, 1) get_bbox(x,y) pygame.display.update([get_bbox(old_x,y),get_bbox(x,y)]) clock.tick(fps) On Thu, Jun 12, 2014 at 7:32 PM, Abhas Bhattacharya < abhasbhattachar...@gmail.com> wrote: > What is also quite surprising is that the circle gets cut off in the > same direction in which it is moving. That makes me think it cant be a > v-sync/screen-refresh issue. >