运行 Pygame 没有 window / GUI
Run Pygame without a window / GUI
是否可以 运行 pygame 而不创建 pygame window、表面或 GUI?
我想使用某些 pygame 功能,但我不想弹出 GUI。
例如,除非我在 pygame 中设置了 window,否则此功能将无法使用。
running = True
def mainloop():
while True:
for event in pygame.event.get():
if ( event.type == pygame.QUIT ) or \
( event.type == pygame.KEYDOWN and \
( event.key == pygame.K_ESCAPE) ):
running = False
print "quit"
pygame.quit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_RETURN:
print "working"
是的,你可以。
import pygame
pygame.init()
while 1:
print pygame.time.get_ticks()
pygame.time.wait(10)
这将为您提供自 pygame 启动后未弹出 GUI 的时间(以毫秒为单位)。
DrevanTronder 是正确的,但他没有正确回答问题,因为您问的是如何在没有 GUI 的情况下在 pygame 中执行事件,如您的示例编码所示。
这是不可能的。当 运行 一个 Pygame 程序时,它只检测 Pygame window 被 select 编辑的事件。如果没有 Pygame window,select 就没有任何东西,所以活动将无法进行。以下是直接从 Pygame 文档中提取的:
"If the display has not been initialized and a video mode not set, the event queue will not really work."
https://www.pygame.org/docs/ref/event.html
但是,当然,如果您不是专门谈论事件处理,那么 DrevanTronder 是正确的;您需要做的就是使用 "import pygame" 导入模块并使用 "pygame.init()".
对其进行初始化
希望对您有所帮助!
如果你是运行Linux,你可以使用Xvfb。
基本上,Xvfb "captures" 所有与显示相关的计算并在内存中执行它们,而无需显示。
它可能不适合您的目的,这取决于您的 OS' 行为。仅当 PyGame window 是活动的 window 时,捕获 PyGame 中的键才有效,但看到您无法在此处设置活动的 window,如果没有其他解决方法,这可能无法工作。
是否可以 运行 pygame 而不创建 pygame window、表面或 GUI? 我想使用某些 pygame 功能,但我不想弹出 GUI。
例如,除非我在 pygame 中设置了 window,否则此功能将无法使用。
running = True
def mainloop():
while True:
for event in pygame.event.get():
if ( event.type == pygame.QUIT ) or \
( event.type == pygame.KEYDOWN and \
( event.key == pygame.K_ESCAPE) ):
running = False
print "quit"
pygame.quit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_RETURN:
print "working"
是的,你可以。
import pygame
pygame.init()
while 1:
print pygame.time.get_ticks()
pygame.time.wait(10)
这将为您提供自 pygame 启动后未弹出 GUI 的时间(以毫秒为单位)。
DrevanTronder 是正确的,但他没有正确回答问题,因为您问的是如何在没有 GUI 的情况下在 pygame 中执行事件,如您的示例编码所示。
这是不可能的。当 运行 一个 Pygame 程序时,它只检测 Pygame window 被 select 编辑的事件。如果没有 Pygame window,select 就没有任何东西,所以活动将无法进行。以下是直接从 Pygame 文档中提取的:
"If the display has not been initialized and a video mode not set, the event queue will not really work." https://www.pygame.org/docs/ref/event.html
但是,当然,如果您不是专门谈论事件处理,那么 DrevanTronder 是正确的;您需要做的就是使用 "import pygame" 导入模块并使用 "pygame.init()".
对其进行初始化希望对您有所帮助!
如果你是运行Linux,你可以使用Xvfb。
基本上,Xvfb "captures" 所有与显示相关的计算并在内存中执行它们,而无需显示。
它可能不适合您的目的,这取决于您的 OS' 行为。仅当 PyGame window 是活动的 window 时,捕获 PyGame 中的键才有效,但看到您无法在此处设置活动的 window,如果没有其他解决方法,这可能无法工作。