《python从入门到实践》——“Play按键”

屏幕的绘制顺序很重要。
在***game_functions.py***文件中的***def update_screen***函数中
若你将“Play”按键的绘制代码放到了飞船和子弹的前面,则不会显示“play”按钮,因为被后面的屏幕覆盖了。

def update_screen(ai_setting, screen, stats, ship, aliens, bullets, play_button):
    """更新屏幕的图像,切换到屏幕"""
    
    # 如果游戏处于非活动状态,就绘制play按钮
    # 注意这个顺序很重要,要在绘制子弹飞船的后面,不然就后面的屏幕覆盖了
    if not stats.game_active:
        play_button.draw_button()

    # 每次循环更新屏幕
    screen.fill(ai_setting.bg_color)

    # 在飞船和外星人后面重绘制所有子弹
    for bullet in bullets.sprites():
        bullet.draw_bullet() # 子弹绘制
        bullet.update_bullet() # 子弹移动
    ship.blitme()
    aliens.draw(screen)

    # 让最近的图像可见
    pygame.display.flip(

运行结果:在这里插入图片描述
正确的代码应该将按钮的绘制放到后面:

def update_screen(ai_setting, screen, stats, ship, aliens, bullets, play_button):
    """更新屏幕的图像,切换到屏幕"""

    # 每次循环更新屏幕
    screen.fill(ai_setting.bg_color)

    # 在飞船和外星人后面重绘制所有子弹
    for bullet in bullets.sprites():
        bullet.draw_bullet() # 子弹绘制
        bullet.update_bullet() # 子弹移动
    ship.blitme()
    aliens.draw(screen)

    # 如果游戏处于非活动状态,就绘制play按钮
    # 注意这个顺序很重要,要在绘制子弹飞船的后面,不然就后面的屏幕覆盖了
    if not stats.game_active:
        play_button.draw_button()

    # 让最近的图像可见
    pygame.display.flip()

运行结果:在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值