1
我使用python 2.7.10和1.9.1的Pygame在OS X 10.11.1pygame的显示造成分段错误11
我越来越Segmentation fault: 11
&蟒蛇崩溃每当我画什么或填充pygame的表面(至少我认为这是原因)。我为过去在同一台机器上工作过的学校完成了几个pygame项目,但现在只是崩溃。我不记得自那时起改变python或pygame版本,只更新OS X版本。
这是一个简单的小程序,应该只是一个紫色十岁上下的背景上显示一个红色矩形:
import pygame
import pygame.locals
class ExampleClass:
def __init__(self):
self.screen = pygame.display.set_mode(
(100, 100),
pygame.locals.DOUBLEBUF |
pygame.locals.SRCALPHA)
def paint(self, surface):
surface.fill((100, 50, 255)) # blue-purple-y background
pygame.draw.rect(surface, (255, 50, 100), (10, 10, 50, 25)) # red rectangle
def main_loop(self):
clock = pygame.time.Clock()
while True:
clock.tick(30)
for e in pygame.event.get():
if e.type == pygame.QUIT:
pygame.quit()
return
if e.type == pygame.KEYDOWN and e.key == pygame.K_ESCAPE:
pygame.quit()
return
self.paint(self.screen)
pygame.display.flip()
example = ExampleClass()
example.main_loop()
我想这在Windows机器&上它的工作完全正常,但是它崩溃在我的Mac 。如果你注释掉self.paint(self.screen)
,窗口弹出&没有崩溃。我搜索了一下,没有找到太多东西。我不知道是什么导致它做到这一点,任何帮助将不胜感激。
我认为你需要调用'pygame.init()'开头的SDL-1.2.15 LIB为Mac。 – DJMcMayhem
@DJMcMayhem我刚试过,它似乎没有做任何事情。我在之前的任何项目中都没有这样做过,他们都在某个时间点工作过。这个相同的代码也适用于Windows,所以我不认为这是问题... –