2015-02-23 109 views
-1
font = pygame.font.Font.render(None, 25) 

def message_to_screen(msg, color): 
    screen_text = font.render(msg, True, color) 
    screen.blit(screen_text, [display_width/2, display_height/2]) 

while not game_exit: 
    for event in pygame.event.get(): 
     if event.type == QUIT: 
      game_exit = True 

     if event.type == pygame.KEYDOWN: 
      if event.key == pygame.K_LEFT: 
       lead_x_change = -moving_speed 
      if event.key == pygame.K_RIGHT: 
       lead_x_change = moving_speed 
      if event.key == pygame.K_UP: 
       lead_y_change = -moving_speed 
      if event.key == pygame.K_DOWN: 
       lead_y_change = moving_speed 

     elif event.type == pygame.KEYUP: 
      if event.key == pygame.K_RIGHT or pygame.K_LEFT or pygame.K_UP or pygame.K_DOWN: 
       lead_x_change = 0 
       lead_y_change = 0 

    lead_x += lead_x_change 
    lead_y += lead_y_change 



    screen.fill(white) 
    pygame.draw.rect(screen, black, [lead_x, lead_y, block_size, block_size]) 



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



message_to_screen("You Lose", red) 

,當我剛剛運行它告訴我下面對待Python pygame的font.SysFont

main.py:34:RuntimeWarning:使用的字體:dlopen的(/Library/Python/2.7/site-packages/ pygame/font.so,2):Library not loaded:/usr/X11/lib/libfreetype.6.dylib 引用自:/Library/Frameworks/SDL_ttf.framework/Versions/A/SDL_ttf 原因是:image not found (ImportError:dlopen(/Library/Python/2.7/site-packages/pygame/font.so,2):Library not loaded:/usr/X11/lib/libfreetype.6.dylib 引用自:/ Library/Frameworks/SDL_ttf.framework/Versions/A/SDL_ttf Reas on:image not found) font = pygame.font.Font.render(None,25) Traceback(最近調用最後一次): 文件「main.py」,第34行,在 font = pygame.font.Font .render(無,25) 文件 「/Library/Python/2.7/site-packages/pygame/ INIT py」 爲,線70,在GETATTR 加註NotImplementedError(MissingPygameModule) NotImplementedError:字體模塊不可用 (ImportError:dlopen(/Library/Python/2.7/site-packages/pygame/font.so,2):Library not loaded:/usr/X11/lib/libfreetype.6.dylib 引用自:/ Library/Frameworks /SDL_ttf.framework/Versions/A/SDL_ttf 原因:image not發現)

回答

2
font = pygame.font.Font.render(None, 25) 

應該是:

font = pygame.font.Font(None, 25)