I'm very new to python and one of my images will not draw onto the screen

Viewed 66

I was trying to draw an image onto the screen but I keep getting errors. The error keeps saying "video system not initialized". I am new to python, can anyone help?

import pygame
import os
#game window
WIN = pygame.display.set_mode((1000, 800))
NAME = pygame.display.set_caption("Space War!")
#FPS limit
FPS = (60)

#image i am trying to draw onto screen
SPACE_BACKGROUND = pygame.image.load(os.path.join('space_background.png'))

pygame.init()
#allows pygame to quit
def main():
    clock = pygame.time.Clock()
    run = True
    while run:
        clock.tick(FPS)
        for event in pygame.event.get():
            if event.type == pygame.QUIT:

                pygame.quit()
        #updates images 
        pygame.display.update()
#calling def main(): function
if __name__ == "__main__":
    main()
1 Answers

do:

def main():
    clock = pygame.time.Clock()
    run = True
    FPS = 60
    while run:
        clock.tick(FPS)
        for event in pygame.event.get():
            if event.type == pygame.QUIT:

                pygame.quit()
        #updates images 
        WIN.blit(SPACE_BACKGROUND, (0, 0)) #you FORGOT this part
        pygame.display.update()

BTW the main function cannot access the global 'FPS' variable so declare that within the 'main' function(make it local).

Related