Python3 ошибка: «pygame.error: видеосистема не инициализирована» - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь научиться делать игры, используя модуль pygame в python. Я использую терминал Ubuntu в Windows 10. Это моя программа.

# 1 - Import library
import os
os.environ['SDL_AUDIODRIVER'] = 'dummy'
import pygame
from pygame.locals import *

# 2 - Initialize the game
print("-1")
pygame.init()
pygame.display.list_modes()

print("0")
width, height = 640, 480
print("00")
screen=pygame.display.set_mode((width, height))
print("1")

# 3 - Load images
player = pygame.image.load("resources/images/virus.png")
print("3")
# 4 - keep looping through
while 1:
    # 5 - clear the screen before drawing it again
    screen.fill(0)
    print("4")
    # 6 - draw the screen elements
    screen.blit(player, (100,100))
    print("5")
    # 7 - update the screen
    pygame.display.flip()
    # 8 - loop through the events
    for event in pygame.event.get():
        # check if the event is the X button 
        if event.type==pygame.QUIT:
            # if it is quit the game
            pygame.quit() 
            exit(0) 

Как только я запускаю программу, я получаю эту ошибку.

pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html
-1
Traceback (most recent call last):
  File "pythongame.py", line 10, in <module>
    pygame.display.list_modes()
pygame.error: video system not initialized

Я просмотрел много сообщений, но безрезультатно. Подскажите пожалуйста как решить эту проблему.

1 Ответ

0 голосов
/ 19 апреля 2020

Если вы инициализируете «модули» pygame, для которых нужно использовать pygame.init (), и выдается ошибка, эта ошибка не отображается и не отображается так. Вы можете инициализировать все «внутренние модули pygame», используя что-то вроде pygame.display.init (). Если вы сделаете это таким образом, будет напечатана трассировка get. У меня также нет проблем с использованием Pycharm для выполнения этой программы. Может быть, это что-то с терминалом unbuntu, который вы используете. Попробуйте инициализировать класс отображения с помощью pygame.display.init (). Вот ссылка на то, что я сказал: pygame.org

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...