0
from time import time
import pygame
pygame.init()

t = time()

Events = pygame.event.get()
print(Events)

end = False

while not end:
    if time()-t>3:
        print(Events)
        Events = pygame.event.get()
        t = time()

我写了以下内容来了解​​pygame中的事件队列。在这里,我等待三秒钟,直到event.get()调用下一个,在这 3 秒钟内,我通过键盘和鼠标执行了很多事件,

但我仍然在下一次打印中看到一个空白事件队列......

为什么会这样,因为如果我没记错的话,pygame 会将所有发生的事件排入队列event.get(),然后将队列返回给我们,然后将其清除。

4

1 回答 1

0

您必须创建一个 Pygame 窗口来获取键盘和鼠标的 IO 事件:

import pygame
pygame.init()

pygame.display.set_mode((200, 200))
clock = pygame.time.Clock()

end = False
while not end:
    clock.tick(1)

    events = pygame.event.get()
    if events:
        print(events)

    for event in events:
        if event.type == pygame.QUIT:
            end = True

pygame.quit()
于 2021-12-28T08:10:07.110 回答