首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pg.event.set_allowed([pg.KEYDOWN,pg.KEYUP,pg.QUIT]) pygame.error:视频系统未初始化

pg.event.set_allowed([pg.KEYDOWN,pg.KEYUP,pg.QUIT]) pygame.error:视频系统未初始化
EN

Stack Overflow用户
提问于 2019-02-26 19:33:50
回答 1查看 181关注 0票数 1

运行马里奥游戏时在此文件中出错我从以下链接(https://github.com/Ja1r0/DQN-play-SuperMario)下载了代码当尝试运行文件super_mario.py时,我得到了上面的错误(pygame.error视频系统未初始化)。

我正在使用windows10中的ubuntu18.04小部件。

代码语言:javascript
复制
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"))
EN

回答 1

Stack Overflow用户

发布于 2019-02-26 20:00:13

您说您使用的是[the] ubuntu 18.04 widget in windows10 (我猜您说的是Linux的Windows子系统),它没有视频显示。它只在控制台上运行,除非你安装了X-server,比如xming。

error video system not initialized确切地告诉您:没有视频系统可以绘制可用的窗口。

因此,您可以尝试安装X-server或从Windows10安装中运行代码,而不是从WSL中运行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54884600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档