为什么我的Pygame窗口仅显示几秒钟?

时间:2018-11-28 00:40:55

标签: python pygame

我是PyGame的新手(通常是python),我只是想弹出一个窗口。这就是我现在想要的。这是我的代码:

import pygame
pygame.init()

win = pygame.display.set_mode((600, 600))

pygame.display.set_caption('First Game')

我在Pycharm和PyGame 1.9.4中使用Python 3.7.0。

2 个答案:

答案 0 :(得分:3)

在Python的PyGame tutorial之后,下一步是开始while循环来处理游戏框架:

import pygame
pygame.init()

win = pygame.display.set_mode((600, 600))

pygame.display.set_caption('First Game')

clock = pygame.time.Clock()    # Determine FPS (frames-per-second)

crashed = False

# Game loop
while not crashed:

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            crashed = True

        print(event)

    pygame.display.update()
    clock.tick(60)

答案 1 :(得分:2)

因为您需要先将其放入循环中(这样它才能刷新其中的任何内容),因此它会一直存在,直到某些东西改变了该循环的条件。

# Event loop (HERE YOU PUT IT).
    while 1:
        for event in pygame.event.get():
            if event.type == QUIT:
                return

        screen.blit(background, (0, 0))
        pygame.display.flip()


if __name__ == '__main__': main()