如何在Python PyGame中检查图形模式?

时间:2014-01-05 01:30:31

标签: python pygame

我用PyGame用Python编写的简单(谜题)游戏。

如何检查Python是处于图形模式还是控制台模式?防爆。 Ubuntu中的 ctrl + alt + f1 。在cli模式下,我的谜题崩溃了。如果我尝试在这种模式下显示图像和内容,那就非常糟糕了。以下代码无效:

try
    pygame.init()
    self.screen = pygame.display.set_mode((PICTURE_WIDTH,PICTURE_HEIGHT))       
    pygame.display.set_caption('ImagePuzzles')
    self.screen.fill((255,255,255))
    self.gameIsStarted = False
except:
    print "Game only for graphics mode."
    sys.exit()

2 个答案:

答案 0 :(得分:2)

结帐环境变量

import os
os.environ['TERM'] #"linux" in console mode, "xterm" on graphic terminal

'DISPLAY'设置为图形模式,如果用户登录桌面(gnome,kde等),则设置'DESKTOP_SESSION'。

把它放在开头

import os,sys
try:
    assert 'DISPLAY' in os.environ
except AssertionError:
    sys.exit(1)

答案 1 :(得分:0)

在Linux和其他将X服务器用于图形环境的Unix(基本上所有这些)中,图形程序在DISPLAY环境变量指向的X显示中运行。在没有将DISPLAY环境变量设置为有效的X显示名称的情况下,在文本终端中启动图形程序通常被认为是用户错误。当您从图形环境内部启动程序时,默认情况下会设置此变量,您可以检查此变量。