Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Pygame Error: Video System not Initialized [duplicate]

Tags:

python

pygame

I have used Pygame with python 2.7 before but recently I 'upgraded' to python 3.2. I downloaded and installed the newest version of Pygame which is said to work with this version of python. I have, however, had this rather frustrating error on what should be a simple block of code. The code is:

import pygame, random

title = "Hello!"
width = 640
height = 400
pygame.init()
screen = pygame.display.set_mode((width, height))
running = True
clock = pygame.time.Clock()
pygame.display.set_caption(title)

running = True

while running:
    for event in pygame.event.get():
        if event.type == pygame.quit():
            running = False
        else:
            print(event.type)
    clock.tick(240)
pygame.quit()

And every single time I run it I get:

17
1
4
Traceback (most recent call last):
  File "C:/Users/David/Desktop/hjdfhksdf.py", line 15, in <module>
    for event in pygame.event.get():
pygame.error: video system not initialized

Why am I getting this error?

like image 203
Codahk Avatar asked Jul 30 '11 06:07

Codahk


People also ask

How do I fix pygame video system is not initialized?

Pygame. error video system not initialized can be fixed by stopping the main loop of implementation with the exit() function. The pygame. init() error is caused by its function not being called and can be solved with the import and initialization of pygame modules.

Do you have to initialize pygame?

init() initialize all imported pygame modules is a convenient way to get everything started. The init() functions for individual modules will raise exceptions when they fail. You may want to initialize the different modules separately to speed up your program or to not use modules your game does not require.

What does the pygame display Set_mode () function do?

This function can be called before pygame. display. set_mode() to create the icon before the display mode is set. If the display has a window title, this function will change the name on the window.


1 Answers

if event.type == pygame.quit():

In the line above, you're calling pygame.quit() which is a function, while what you really want is the constant pygame.QUIT. By calling pygame.quit(), pygame is no longer initialized, which is why you get that error.

Thus, changing the line to:

if event.type == pygame.QUIT: # Note the capitalization

Will solve your problem.

It's important to note that pygame.quit() will not exit the program.

like image 56
Merigrim Avatar answered Sep 19 '22 15:09

Merigrim