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