Hello Michael and welcome to the community :)

I tried your code on my Linux setup: Python 3.8.5, Pygame 2.0.0, SDL 2.0.12, 
KDE neon 5.20.04, Mesa DRI Intel HD Graphics 3000... 

After adding the missing

     WHITE = (255, 255, 255)

and running your code, I didn't notice tearing as I moved the circle around. 
But for me, KDE uses KWin, which is a composited window manager. Is Xubuntu 
using XFWM? I'm going out on a limb, but I think that is not a composited WM, 
and might have a different interaction with X11 and appear differently. Have 
you experimented with installing a different distro, like Kubuntu, then login 
and run your test and see if it behaves differently?
~ Michael 


On Monday, December 14, 2020 7:00:22 PM PST you wrote:
> Python 3.8.6
> Pygame 2.0.0
> Xubuntu 20.10
> Nvidia 1060 6GB
> 
> The following code, when run, causes an issue where the circle starts to
> tear as it moves across the screen if I click on the active window. Where I
> click seems to matter also, as the tearing can be adjusted by clicking at
> various points from top to bottom. I'm not checking for mouse events in the
> code, but I would imagine their still being tracked.
> 
> The tearing continues to happen after I've stopped and ran it again as
> well. It does go back to normal after a few tries. But the effects seem to
> stay in memory.
> 
> I wasn't sure where to send bugs, the website led me here. I hope this is
> the right place.
> 
> # ----------------------------------------
> import pygame as pg
> 
> # init game space
> pg.init()
> 
> screen = pg.display.set_mode((600, 400))
> pg.display.set_caption("Ball Moving")
> 
> playerX = 50
> playerY = 50
> player_Width = 30
> player_Height = 30
> playerVelocity = 0.5
> 
> # Color Constants
> BLUE = (0, 0, 255)
> 
> # loop
> running = True
> while running:
>     for event in pg.event.get():
>         if event.type == pg.QUIT:
>             running = False
> 
>     # update screen
>     keys = pg.key.get_pressed()
>     if keys[pg.K_LEFT]:
>         playerX -= playerVelocity
>     if keys[pg.K_RIGHT]:
>         playerX += playerVelocity
>     if keys[pg.K_UP]:
>         playerY -= playerVelocity
>     if keys[pg.K_DOWN]:
>         playerY += playerVelocity
> 
>     screen.fill(WHITE)
>     pg.draw.circle(screen, (BLUE), (playerX, playerY), player_Width, 0)
>     pg.display.flip()
> 
> pg.display.quit()
> pg.quit()
> 

Reply via email to