运行pygame.font.SysFont()时,IDLE有时会崩溃

时间:2017-06-24 05:53:09

标签: python fonts crash pygame python-idle

我不确定这是我的代码,IDLE或模块的问题,但是当我运行这个程序时,它有时会在启动时崩溃。它通常每三到四次发生一次。我很困惑,因为它并不总是发生,如果我在while循环内外创建和blit文本表面,它似乎没有什么区别。当它崩溃时,pygame窗口会打开,但仍然是黑色,然后所有IDLE窗口关闭,没有任何错误消息。

以下是代码:

import random, pygame, sys
from pygame.locals import*

pygame.init()

FPS = 30 #frames per second setting
fpsClock = pygame.time.Clock()

#variables
DISPLAYWIDTH = 800
DISPLAYHEIGHT = 500

WHITE = (255,255,255)
BLACK = (0,0,0)

#set up the window
DISPLAYSURF = pygame.display.set_mode((DISPLAYWIDTH, DISPLAYHEIGHT), 0, 32)
pygame.display.set_caption("Hello World!")

DISPLAYSURF.fill(WHITE)

# initialize font
myfont = pygame.font.SysFont("monospace", 100)

# render text
label = myfont.render("Hello World!", True, BLACK)
DISPLAYSURF.blit(label, (100, 100))


while True: #the main game loop

    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit()

    pygame.display.update()
    fpsClock.tick(FPS)

我认为问题必须在初始化字体行中,因为我已经尝试注释掉渲染文本行,但问题仍然存在。当我注释掉处理文本的所有三行时,程序永远不会崩溃。关于为什么这条线似乎随机导致程序崩溃的任何想法?提前谢谢!

编辑:我正在运行Ubuntu 12.04,Python 3.2和Pygame 1.9。我不确定如何直接从控制台运行程序而不涉及IDLE,但是我已经在Geany中运行了几次,到目前为止它还没有崩溃。

0 个答案:

没有答案