在没有窗口/ GUI的情况下运行Pygame

Rat*_*ial 7 user-interface pygame window surface

是否可以在不创建pygame窗口,表面或GUI的情况下运行pygame?我想利用某些pygame函数,但是我不想弹出GUI。

例如,除非我在pygame中设置了一个窗口,否则此功能将不起作用。

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"
Run Code Online (Sandbox Code Playgroud)

Dou*_*ner 5

DrevanTronder是正确的,但是他没有正确回答问题,因为您正在询问如何在不带GUI的pygame中进行事件,如您的示例代码所示。

这是不可能的。运行Pygame程序时,仅在选择Pygame窗口时才检测事件。如果没有Pygame窗口,则没有任何选择,因此事件将不起作用。以下内容直接从Pygame文档中获取:

“如果显示尚未初始化并且未设置视频模式,则事件队列将无法真正工作。” https://www.pygame.org/docs/ref/event.html

但是,当然,如果您不是专门讨论事件处理,那么DrevanTronder是正确的;您需要做的就是使用“ import pygame”导入模块,并使用“ pygame.init()”对其进行初始化。

希望这可以帮助!