Я сейчас занимаюсь pygame, и кажется, что все маленькие программы, которые я делаю с ним, зависают, когда я пытаюсь их закрыть.
Возьмите следующий код, например:
from pygame.locals import *
pygame.init()
# YEEAAH!
tile_file = "blue_tile.bmp"
SCREEN_SIZE = (640, 480)
SCREEN_DEPTH = 32
if __name__ == "__main__":
screen = pygame.display.set_mode(SCREEN_SIZE, 0, SCREEN_DEPTH)
while True:
for event in pygame.event.get():
if event.type == QUIT:
break
tile = pygame.image.load(tile_file).convert()
colorkey = tile.get_at((0,0))
tile.set_colorkey(colorkey, RLEACCEL)
y = SCREEN_SIZE[1] / 2
x = SCREEN_SIZE[0] / 2
for _ in xrange(50):
screen.blit(tile, (x,y))
x -= 7
y -= 14
Я не вижу ничего плохого в коде, он работает (игнорируйте тот факт, что плитка не расплывается в правильных местах), но нет трассировки и единственный способ ее закрыть - это убить процесс python в диспетчере задач. Может ли кто-нибудь обнаружить проблему с моим кодом?