为什么我的pygame窗口会立即关闭?

时间:2019-11-14 01:39:14

标签: python-3.x pygame

我在Ubuntu上,并且想将PyGame用于初学者的项目。但是,当我为窗口运行该程序时,它只会短暂打开然后关闭。我该如何解决?

import pygame
pygame.init()

window = pygame.display.set_mode((700,700))
pygame.display.set_caption("First Game")

1 个答案:

答案 0 :(得分:1)

您的PyGame程序至少需要服务事件循环。该程序正在打开窗口,但随后什么也不做,因此它再次关闭。

尝试这样的事情:

import pygame

WINDOW_WIDTH  = 700
WINDOW_HEIGHT = 700
SKY_BLUE = (161, 255, 254)

### Open the PyGame Wdinow
pygame.init()
window = pygame.display.set_mode( ( WINDOW_WIDTH, WINDOW_HEIGHT ) )
pygame.display.set_caption("First Game")

### make a clock for later.
clock = pygame.time.Clock()

### Main Loop
done = False
while not done:
    # Handle Window Events, etc.
    for event in pygame.event.get():
        if ( event.type == pygame.QUIT ):
            done = True

    # Handle Movement keys
    keys = pygame.key.get_pressed()
    if ( keys[pygame.K_UP] ):
        print("up")
    elif ( keys[pygame.K_DOWN] ):
        print("down")
    elif ( keys[pygame.K_LEFT] ):
        print("left")
    elif ( keys[pygame.K_RIGHT] ):
        print("right")


    # Update the window
    window.fill( SKY_BLUE )

    # Flush all updates out to the window
    pygame.display.flip()

    # Clamp frame-rate to 60 FPS
    clock.tick_busy_loop(60)

pygame.quit()

这将打开一个最小窗口,处理窗口关闭事件,将背景涂成蓝色。它将注册用于箭头键的按键操作,但除此之外所做的很少。