我在使用ubuntu服务器的PC(PC-104)上使用pygame,因此它只有终端,而不是UI。
在我的笔记本电脑上,代码工作正常,在终端上运行代码“例如:python game.py”,但在PC104上它给出“视频系统未初始化”,我读错误显示是因为它是一种方式在没有UI的系统上使用事件?
感谢。
答案 0 :(得分:3)
感谢您的回答jsbueno。几个星期前我找到了一个解决方案,但忘了回答这个问题。
我无法使用除X11之外的任何其他库运行任何pygame脚本。但我发现可以运行没有图形库的脚本。只需将SDL_VIDEOLIBRARY环境变量设置为“虚拟”。
这在bash上是可行的,但我更喜欢在python上执行:
os.environ["SDL_VIDEODRIVER"] = "dummy"
通过这个,我能够运行pygame脚本,检测操纵杆事件等。
答案 1 :(得分:2)
如果你将它设置为使用framebuffer或vgalib,可以在没有X11的系统中运行pygame程序 - 文档甚至谈论使用aalib(它会在终端上使用ascii art显示图形。)
文档的这一部分有:
Pygame会在几个内部显示后端中选择一个 它被初始化了。将根据选择显示模式 当前用户的平台和权限。在显示模块之前 初始化环境变量SDL_VIDEODRIVER可以设置为 控制使用哪个后端。有多种选择的系统是 列在这里。
Windows:windib,directx
Unix:x11,dga,fbcon,directfb, ggi,vgl,svgalib,aalib
因此,您需要做的是在启动代码之前设置SDL_VIDEODRIVER环境变量。并保持适当的lib。已安装。