【发布时间】:2014-02-20 00:30:21
【问题描述】:
我最近刚刚学习了 Python 和 Pygame 库。
我注意到,当我单击并按住窗口菜单栏(带有标题/图标的栏)时,渲染和主循环会自动暂停。
例如,在蛇游戏中,蛇每帧都会移动。当我单击并按住(或拖动)窗口菜单时,蛇不再移动,游戏“暂停”。当我释放它时,它会恢复。
有没有办法让我拖动 windows 菜单栏时游戏不暂停?
【问题讨论】:
-
我认为简短的回答是你无法阻止它暂停。
我最近刚刚学习了 Python 和 Pygame 库。
我注意到,当我单击并按住窗口菜单栏(带有标题/图标的栏)时,渲染和主循环会自动暂停。
例如,在蛇游戏中,蛇每帧都会移动。当我单击并按住(或拖动)窗口菜单时,蛇不再移动,游戏“暂停”。当我释放它时,它会恢复。
有没有办法让我拖动 windows 菜单栏时游戏不暂停?
【问题讨论】:
当您拖动窗口时,只有事件队列会停止。 因此,如果您的更新/绘制没有与事件队列耦合, 它们不会被暂停。
from pygame.locals import *
import pygame
import sys
import time;
import random;
pygame.init()
DISPLAYSURF = pygame.display.set_mode((530, 212))
while True:
t = random.random();
t *= 255;
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
print event;
DISPLAYSURF.fill((int(t) % 255, int(t) % 255, int(t) % 255));
pygame.display.update()
【讨论】:
这个很简单,好像忘记加事件回调了。 状态 1 而(满足!= 0): 对于 pygame.event.get() 中的事件:
【讨论】: