pygame.display.update() 오류

김기동·2023년 3월 16일

python

목록 보기
1/1

python의 pygame package를 이용하는 중 다음의 코드를 실행시켰을 때 오류가 발생하였다.

import pygame

pygame.init()

screen = pygame.display.set_mode((800, 600))

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
    #draw all our elemnets
    #update everything
    pygame.display.update()

오류내용 :

Traceback (most recent call last):
File "C:\Users\kacelab\PycharmProjects\Unogame\main.py", line 13, in
pygame.display.update()
pygame.error: video system not initialized

원인은 while loop 안에서 if문이 실행되는 조건문 event.type == pygame.QUIT가 만족되어 pygame.quit()이 실행되어서다. pygame.quit()이 실행된 이후 pygame.display.update()이 실행되려고 하여 오류가 발생하는 것이였다.

따라서 다음과 같은 코드를 추가하여 해당 문제를 해결하였다

	import pygame
	from sys import exit
 
	pygame.init()
  
	screen = pygame.display.set_mode((800, 600))
  
		while True:
	    for event in pygame.event.get():
	        if event.type == pygame.QUIT:
	            pygame.quit()
	            exit()
  
	    #draw all our elemnets
	    #update everything
	    pygame.display.update()

sys의 exit()를 활용하여 loop를 종료하는 부분을 추가해주었다.

profile
김기동

0개의 댓글