Pygame中,无法完全显示按钮

Pygame中,无法完全显示按钮

 

如图所示,根据《Python编程从入门到编程》中外星人的项目操作,"PLAY按钮无法完全显示"

 

检查后发现,实际上是一个“外星人与按钮”绘制先后的问题

如果需要将按钮覆盖在外星人飞船上面,只需要在绘制完成飞船之后再绘制按钮。

 

具体代码如下:

def update_screen(ai_settings,screen,ship,aliens,bullets,play_button,stats):
    # print('更新屏幕')
    screen.fill(ai_settings.bg_color)
    ship.blitme()
    for bullet in bullets.sprites():
        bullet.draw_bullet()
    
    # 绘制外星人
    # alien.blitme()
    aliens.draw(screen)
    
    # 绘制按钮
    if not stats.game_active:
        play_button.draw_button()
    # 让最近绘制的屏幕可见
    pygame.display.flip()

 

成功执行之后,已经能够完全显示出来了。

 

Pygame中,无法完全显示按钮

 

不过在这里还有一个问题有待解决:pygame中显示中文的问题。

如果将"PLAY"换成中文“开始游戏”的话,在按钮上只会显示“口口口口”这样的乱码问题。