首页 > 解决方案 > 为什么我的 pygame 窗口会立即关闭?

问题描述

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

import pygame
pygame.init()

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

标签: python-3.xpygame

解决方案


您的 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()

这将打开一个最小窗口,处理窗口关闭事件,将背景涂成蓝色。它将注册箭头键的按键,但除此之外几乎没有。


推荐阅读