Python Pygame窗口在几秒钟后没有响应
这段简单的代码在几秒钟(大约5秒钟)后崩溃(窗口没有响应) 如果我取消注释注释注释行,我可以清楚地看到程序在显示47到50之间的值时失控Python Pygame窗口在几秒钟后没有响应,python,pygame,Python,Pygame,这段简单的代码在几秒钟(大约5秒钟)后崩溃(窗口没有响应) 如果我取消注释注释注释行,我可以清楚地看到程序在显示47到50之间的值时失控 我使用python 2.7和pygame 1.9.2、Windows 8(64位)和Eclipse+PyDev。在while循环开始时调用pygame.event.get()。您需要定期调用模块中的四个函数之一,以便pygame与您的操作系统进行内部交互。否则操作系统会认为你的游戏崩溃了。因此,请确保调用其中一个: pygame.event.get()返回事
我使用python 2.7和pygame 1.9.2、Windows 8(64位)和Eclipse+PyDev。在while循环开始时调用
pygame.event.get()
。您需要定期调用模块中的四个函数之一,以便pygame与您的操作系统进行内部交互。否则操作系统会认为你的游戏崩溃了。因此,请确保调用其中一个:
返回事件队列中当前所有事件的列表pygame.event.get()
从事件队列返回单个事件,或者pygame.event.poll()
如果队列为空pygame.NOEVENT
从事件队列中返回单个事件,或等待事件返回pygame.event.wait()
允许pygame处理内部操作。当您不想处理事件队列中的事件时非常有用pygame.event.pump()
run=True
运行时:
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:
运行=错误
# [...]
或者,只需泵送事件:
为True时:
pygame.event.pump()
# [...]
最简单的例子:我只能说:它适用于Python 2.7、PyGame 1.9.2、Linux Mint(32位)、Geany。你是从Eclipse还是终端运行它?哇!聪明!正是这样!谢谢如果您不使用pygame事件,那么您可以使用
pygame.event.pump
而不是pygame.event.get
。如果调用事件队列的时间过长,系统可能会判定您的程序已锁定
import pygame
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((640, 480), 0, 24)
#clock = pygame.time.Clock()
#font = pygame.font.Font(None, 32)
cycles = 0
while True:
screen.fill(0)
# text = font.render('Cycles : %d' % cycles, True, (255, 255, 255))
# screen.blit(text, (100, 100))
cycles += 1
pygame.display.update()