非法指令:MacOS High Sierra上为4

时间:2018-10-06 17:00:55

标签: python macos-sierra illegal-instruction

我正在尝试在pygame 3.6中创建一个具有聊天功能的窗口,我刚刚将MacBook更新到版本10.13.6,在此之前它运行良好,但是得到了以下消息:非法指令:4。
代码

import pygame
from pygame.locals import *
import pygame.gfxdraw

pygame.init()

window_width=360
window_height=640
animation_increment=10
clock_tick_rate=20
size = (window_width, window_height)
screen = pygame.display.set_mode(size)
black = (0,0,0)
grey = (220,220,220)
shadow = (0, 255, 0, 100)

pygame.display.set_caption("BrAIn")

dead=False

clock = pygame.time.Clock()
background_image = pygame.image.load("background.png").convert()
micro = pygame.image.load("microphone.png")
PF = pygame.image.load("BrAIn.png")


while(dead==False):
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            dead = True

    font = pygame.font.Font("Impact copy.ttf", 52)
    text = font.render('BrAIn', True, (0,0,0))

    screen.blit(background_image, [0, 0])
    pygame.gfxdraw.hline(screen, 0, 360, 40, shadow)
    pygame.draw.line(screen, black, [0,62], [360,62], 2)
    pygame.draw.line(screen, grey, [0,30], [360,30], 62)
    pygame.draw.line(screen, grey, [0,620],[360,620],75)
    pygame.draw.line(screen, black, [0,583], [360,583], 2)
    screen.blit(micro, [152, 587])
    screen.blit(PF, [-5, -7])
    screen.blit(text, [125,0])

    pygame.display.flip()
    clock.tick(clock_tick_rate)


运行此命令后,Python 3.6(和2.7)也会崩溃。

1 个答案:

答案 0 :(得分:1)

尽管“删除pygame.init()”并不是一个真正的答案,但我想知道为什么这样做以及如何永久解决此问题,但我找到了一种“解决”此问题的方法。我删除了pygame.init()命令,该命令给了我错误:pygame.error: font not initialized。这很明显,因为那时您还没有初始化字体所在的引擎。还有一种不使用pygame.init()而不出现此错误的方法(正如我中许多人所知道的那样),这是通过使用pygame.font.init()来实现的。我尝试用pygame.font.init()替换pygame.init(),最后我的程序像以前一样工作。我仍然非常想知道为什么以及如何产生此错误,如何永久消除该错误以及pygame.font.init()pygame.init()之间有什么区别,但这对我来说是一个暂时的答案。 / p>