2015-12-14 42 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