pg.event.set_allowed ([pg.KEYDOWN, pg.KEYUP, pg.QUIT]) pygame.error: видеосистема не инициализирована - PullRequest
0 голосов
/ 26 февраля 2019

Получение ошибки в этом файле при запуске игры Mario Я скачал код по следующей ссылке (https://github.com/Ja1r0/DQN-play-SuperMario) при попытке запустить файл super_mario.py, я получаю эту ошибку выше (видеосистема pygame.error)не инициализирован).

Я использую виджет Ubuntu 18.04 в Windows10.

import platform

p_name = platform.system()
print(p_name)

import os
import pygame as pg
from . import tools
from . import constants as c
ORIGINAL_CAPTION = c.ORIGINAL_CAPTION

current_dir = os.path.dirname(os.path.realpath(__file__))
'''
os.environ['SDL_VIDEO_CENTERED'] = '1'
pg.init()
pg.event.set_allowed([pg.KEYDOWN, pg.KEYUP, pg.QUIT])
pg.display.set_caption(c.ORIGINAL_CAPTION)
SCREEN = pg.display.set_mode(c.SCREEN_SIZE, 0, 32)
SCREEN_RECT = SCREEN.get_rect()
FONTS = tools.load_all_fonts(os.path.join("resources", "fonts"))
MUSIC = tools.load_all_music(os.path.join("resources", "music"))
GFX = tools.load_all_gfx(os.path.join("resources", "graphics"))
SFX = tools.load_all_sfx(os.path.join("resources", "sound"))
# dev env
'''
if True:#p_name == "aaa":
    import os
    import pygame as pg
    from . import tools
    from . import constants as c
    ORIGINAL_CAPTION = c.ORIGINAL_CAPTION


    os.environ['SDL_VIDEO_CENTERED'] = '1'
    pg.init()
    pg.event.set_allowed([pg.KEYDOWN, pg.KEYUP, pg.QUIT])
    pg.display.set_caption(c.ORIGINAL_CAPTION)
    SCREEN = pg.display.set_mode(c.SCREEN_SIZE, 0, 32)
    SCREEN_RECT = SCREEN.get_rect()
    FONTS = tools.load_all_fonts(os.path.join("resources", "fonts"))
    MUSIC = tools.load_all_music(os.path.join("resources", "music"))
    GFX = tools.load_all_gfx(os.path.join("resources", "graphics"))
    SFX = tools.load_all_sfx(os.path.join("resources", "sound"))
# aws
else:
    import os
    # import pygame as pg
    from . import tools
    from . import constants as c

    ORIGINAL_CAPTION = c.ORIGINAL_CAPTION

    os.environ['SDL_VIDEO_CENTERED'] = '1'
    os.environ["SDL_VIDEODRIVER"] = "dummy"
    os.environ["SDL_AUDIODRIVER"] = "dummy"
    import pygame as pg

    pg.init()

    pg.event.set_allowed([pg.KEYDOWN, pg.KEYUP, pg.QUIT])
    pg.display.set_caption(c.ORIGINAL_CAPTION)
    SCREEN = pg.display.set_mode(c.SCREEN_SIZE, 0, 32)
    SCREEN_RECT = SCREEN.get_rect()
    FONTS = tools.load_all_fonts(os.path.join(current_dir, "..", "resources", "fonts"))
    MUSIC = tools.load_all_music(os.path.join(current_dir, "..",  "resources", "music"))
    GFX = tools.load_all_gfx(os.path.join(current_dir, "..",  "resources", "graphics"))
    SFX = tools.load_all_sfx(os.path.join(current_dir, "..",  "resources", "sound"))

1 Ответ

0 голосов
/ 26 февраля 2019

Вы сказали, что используете [the] ubuntu 18.04 widget in windows10 (я полагаю, вы говорите о подсистеме Windows для Linux), которая не имеет видеодисплея.Это только консоль, если вы не установите X-сервер, например, xming.

Ошибка video system not initialized говорит вам точно: нет видео системы, которая могла бы нарисовать доступное окно.

может попытаться установить X-сервер или запустить код из установки Windows 10, а не из WSL.

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