Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Pygame window not showing up

Tags:

python

pygame

I recently downloaded pygame on my Mac, but for some reason, the window does not pop up with the screen or anything. I don't get an error message, it just runs but doesn't actually pop up a display.

import pygame, sys
from pygame.locals import*

pygame.init()
SCREENWIDTH = 800
SCREENHEIGHT = 800
RED = (255,0,0)
screen = pygame.display.set_mode((SCREENWIDTH, SCREENHEIGHT))

pygame.draw.rect(screen, RED, (400, 400, 20, 20),0)
screen.fill(RED)




pygame.display.update()
like image 905
b0b75 Avatar asked Oct 24 '25 17:10

b0b75


2 Answers

Your code is currently starting, drawing a red rectangle in a window, and then ending immediatly. You should probably wait for the user to quit before closing the window. Try the following:

import pygame, sys
from pygame.locals import*

pygame.init()
SCREENWIDTH = 800
SCREENHEIGHT = 800
RED = (255,0,0)
screen = pygame.display.set_mode((SCREENWIDTH, SCREENHEIGHT))

pygame.draw.rect(screen, RED, (400, 400, 20, 20),0)
screen.fill(RED)

pygame.display.update()

# waint until user quits
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

pygame.quit()

The loop in the end will ensure that the window remains open until the user closes it.

like image 182
Ismael Padilla Avatar answered Oct 26 '25 07:10

Ismael Padilla


Please check this solution.

import pygame, sys
from pygame.locals import *

pygame.init()
SCREENWIDTH = 800
SCREENHEIGHT = 800
RED = (255, 0, 0)
screen = pygame.display.set_mode((SCREENWIDTH, SCREENHEIGHT))

while True:
    pygame.draw.rect(screen, RED, (400, 400, 20, 20), 0)
    screen.fill(RED)
    pygame.display.update()
like image 23
Anuradha Avatar answered Oct 26 '25 07:10

Anuradha