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)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言 作为一个编程小白选手,经过一段时间的基础语法学习,终于迎来了首个项目学习,从一步步的模仿到理解到每个步骤的思...
    黑色小马达阅读 6,995评论 1 3
  • 摘要 在游戏《飞机大战独眼外星人》中,玩家控制着一艘最初出现在屏幕底部中央的飞机。玩家可以使用箭头键左右移动飞机,...
    bhwfccyy阅读 2,967评论 0 0
  • 开发系统和开发IDE 开发系统: Ubuntu 16.0.4 LTS开发IDE: Visual Studio C...
    leacoder阅读 11,259评论 0 7
  • 渐变的面目拼图要我怎么拼? 我是疲乏了还是投降了? 不是不允许自己坠落, 我没有滴水不进的保护膜。 就是害怕变得面...
    闷热当乘凉阅读 9,796评论 0 13
  • 感觉自己有点神经衰弱,总是觉得手机响了;屋外有人走过;每次妈妈不声不响的进房间突然跟我说话,我都会被吓得半死!一整...
    章鱼的拥抱阅读 6,618评论 4 5

友情链接更多精彩内容