Python-机器人入侵遇到问题与解决方案

1. 开始进行外星人移动时,虽然外星人图像向右移动,但是历史图像没有消失,导致外星人重影

问题代码:
alien_invasion.py

#开始游戏主循环
    while True:
        #监视键盘和鼠标事件
        gfunctions.check_events(ai_setting, screen, ship, bullets)
        ship.update()
        gfunctions.create_fleet(ai_setting, screen, ship, aliens)
        gfunctions.update_bullets(bullets)
        gfunctions.update_aliens(aliens)
        gfunctions.update_screen(ai_setting, screen, ship, aliens, bullets)

分析与解决:
因为gfunctions.create_fleet方法放在主循环里进行执行,反复调用后生成了一群群的外星人,所以重影了
将gfunctions.create_fleet方法移到主循坏外初始化部分即可

def run_game():
    #初始化游戏,创建一个屏幕对象
    # 创建一个用于存储子弹的编组
    # 创建一个外星人组
    gfunctions.create_fleet(ai_setting, screen, ship, aliens)
    #开始游戏主循环
    while True:
        #监视键盘和鼠标事件
        gfunctions.check_events(ai_setting, screen, ship, bullets)
        ship.update()
        gfunctions.update_bullets(bullets)
        gfunctions.update_aliens(aliens)
        gfunctions.update_screen(ai_setting, screen, ship, aliens, bullets)

你可能感兴趣的:(Python-机器人入侵遇到问题与解决方案)