python - 当您移动/拖动窗口时,为什么 pygame 在 pygame.event.get() 卡住?

标签 python pygame

<分区>

基本上我有一个循环(tick、set_caption、screen_fill、event.get()、send_frame_event、flip、repeat)

当我在 Windows 7 上拖动窗口时,循环停止循环,我最终陷入了 pygame.event.get(),我试图只为 get 定义某些事件,例如get([pygame.QUIT]) 无济于事。

简单地调用 pygame.event.clear() 在拖动/移动窗口时具有相同的卡住效果。

有解决办法吗?

不是完整的代码,但应该足够了:

def start(self):
    self.running = True
    Clock = pygame.time.Clock()
    while self.running:
        self.p += 25
        tickFPS = Clock.tick(self.fps)
        pygame.display.set_caption("Press Esc to quit. FPS: %.2f" % (Clock.get_fps()))
        self.screen.fill([self.p&0xFF,(255-self.p)&0xFF,255])
        self.handleEvents()
        self.raiseEvent("updateFrame")
        pygame.display.flip()
def handleEvents(self):
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            self.running = False
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                self.running = False

完整代码位于:http://pastie.org/private/wm5vqq3f7xe0xlffy1fq

最佳答案

尝试在主循环(或 handleEvents 函数)中调用 pygame.event.pump()

关于python - 当您移动/拖动窗口时,为什么 pygame 在 pygame.event.get() 卡住?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10122289/

相关文章:

python - 为什么我的 for 循环在列表末尾返回一个空列表值?

python - 如何在python中返回一个空列表

python - 识别数据框中的 ID 列

python - XIO : fatal IO error 11 (Resource temporarily unavailable) on X server ":0" after 235 requests (235 known processed) with 0 events remaining

python - 如何在Pygame中检查混音器系统是否已初始化?

python - 乒乓克隆碰撞检测

python - 如何解决pygame中这些圆圈的碰撞?

python - 如何将 pandas 中的列索引转换为行索引?

python - 使用 Python 从 HTML 中提取纯文本

python - Pygame 缩放健康栏