2015-12-14 69 views
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),窗口弹出&没有崩溃。我搜索了一下,没有找到太多东西。我不知道是什么导致它做到这一点,任何帮助将不胜感激。

+0

我认为你需要调用'pygame.init()'开头的SDL-1.2.15 LIB为Mac。 – DJMcMayhem

+0

@DJMcMayhem我刚试过,它似乎没有做任何事情。我在之前的任何项目中都没有这样做过,他们都在某个时间点工作过。这个相同的代码也适用于Windows,所以我不认为这是问题... –

回答

0

我知道这是旧的,但它是内置在SDL库中的一个错误。

下载从official site