so I get this error when I try to run my pygame code: pygame.error: video system not initialized
i specify where the wing IDE tells me it is in the code below
class
for your pygame
window don't use pygame.init()
in your class
. Use pygame.init()
at bottom the libraries.I had this issue recently, and I discovered a strange and unusual bug in the code that I'd written -- only after reading it and re-reading it a dozen times over a 10 minute stretch, trying to launch the file (which looked perfect) a dozen times.
There was pygame.init()
. There was screen = pygame.display.set_mode((size))
with the variable size in position to be available in the global namespace.
Turns out it was the main game loop.
# main game loop
while RUNNING == True:
for tneve in pygame.event.get():
if tneve.type == QUIT:
print(tneve)
RUNNING = False
loop()
render()
CLOCK.tick(FPS)
cleanup()
# End
What a pain!
P.S.
The problem is the one-stop-too-far indentation of everything below RUNNING = False
.
I made some modifications to your code:
import os
import sys
import math
import pygame
import pygame.mixer
from pygame.locals import *
pygame.init()
black = 0, 0, 0
white = 255, 255, 255
red = 255, 0, 0
green = 0, 255, 0
blue = 0, 0, 255
screen = pygame.display.set_mode((600, 400))
clock = pygame.time.Clock()
pygame.display.set_caption("Physics")
while True:
clock.tick(120)
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
screen.fill(green)
pygame.display.flip()
You have to add:
pygame.init()
Before you quit the display you should stop the while loop.
You get an error because you try to set the window title (with set_caption()
) but you haven't created a pygame window, so your screen
variable is just a tuple containing the size of your future window.
To create a pygame window, you have to call pygame.display.set_mode(windowSize)
.
Good luck :)
1 this problem happens when you using a beta version.
2 so my suggestion is please use the new, old version(If now lunch 3.8 python, you need to install python 3.7)
3 Now goto python terminal and install pygame (pip install pygame)
4 now the problem is solved...