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() 24 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.
1Please 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() 1use fill before using draw.rect or bilt
screen.fill(RED) pygame.draw.rect(screen, RED, (400, 400, 20, 20),0) Ok, to fix this problem go into any text editor (IDLE will do fine, so will notepad) Type the following code:
YourFileName.py
pause
Then, click on 'file' then click on 'save as' and a screen should pop up asking you to name it. Name it: YourFileName.bat
Save it in a folder that you can easily open
the way that you open the screen with PyGame is simply by double clicking the file I just showed you how to create. Then it will immediately run your code in PyGame.