关于子弹的发射问题,我出现了以下问题,以下记录如何解决的:
第1个问题:在“setting.py”中设置的子弹速度不对,原来是这样的:

        self.bullet_speed_factor = 1self.bullet_speed_width = 3self.bullet_speed_height = 15self.bullet_color = 0, 0, 0

现在是这样的:

        self.bullet_speed_factor = 1self.bullet_width = 3self.bullet_height = 15self.bullet_color = 0, 0, 0

也就是说,第二行和第三行多了一个speed,导致报错。这个问题应该是很早就能发现的,但是查了很久才发现。需要细心处理。

第2个问题,完全按照书上的代码敲,发现没有子弹。一点一点的处理。
处理经过:

第一步:首先看一下程序是否检测到了按下空格这个操作。
具体就是print大法,在game_function.py中更改代码如下:

    elif event.key == pygame.K_SPACE:print("按下了空格键")new_bullet = Bullet(ai_settings, screen, ship)bullets.add(new_bullet)

通过运行发现,能够检测出“按下空格键”这个操作

第二步,检验子弹的位置。在bullet.py中的update函数,更改如下:

    def update(self):print("子弹向上飞行的速度"+str(self.speed_factor))self.y -= self.speed_factorself.rect.y = self.y

其中self.y代表子弹的纵向坐标,通过运行发现,这个“子弹向上飞行速度”这句话根本打印不出来,才发现,子弹位置没有更新。

解决方案:
在game_function.py里面的update_screen函数中,更改如下:

def update_screen(ai_settings, screen, ship, bullets):screen.fill(ai_settings.bg_color)for bullet in bullets.sprites():bullet.draw_bullet()print("画出子弹")bullet.update()ship.blitme()pygame.display.flip()

也就是说增加第5,6行,根本的原因在于没有让子弹的位置产生个更新。这也是本书上的错误。书上是没有bullet.update()这句话的。

python编程从入门到实践之外星人入侵相关推荐

  1. python编程从入门到实践之外星人入侵全代码

    好久没有更新了,最近寒假在家没事做,就想学点东西,在网上找到一本关于python的书籍<python编程从入门到实践>,经过大概一个多月的时间吧,也算是大致把本书浏览了一遍. 本人感觉这本 ...

  2. 《Python编程从入门到实践》外星人入侵游戏——添加 飞船 图片和外星人 图片,素材

    <Python编程从入门到实践>在本书里学到的.本篇主要介绍该游戏中所需要的两个图片.分别为飞船和外星人图片. 1.首先去到 http://www.ituring.com.cn/book/ ...

  3. python编程从入门到实践《外星人入侵》相关图像获取方法

    在该书的113页,也就是12.4小节有直接说明,去下面的网站找配套的资源. 推荐去第二个,https://www.nostarch.com/pythoncrashcourse/ 进去后是这个样子 往下 ...

  4. 《Python编程从入门到实践 第2版》 最强入门Python书籍

    市场上关于Python的书籍是非常多的,细分有入门系列,进阶系列和精通系列,在众多的Python书籍中给我印象最为深刻的当属人民邮电出版社下的图灵系列图书<Python编程从入门到实践>和 ...

  5. 《Python编程从入门到实践》,留言送5本

    你好,我是 zhenguo 我每次送书,一定必选经典.今天图灵出版社的这本<Python编程从入门到实践>,就很值得一读,强调入门学习Python的动手和实践,是一本经典好书.今天一共赠送 ...

  6. python开发之父亲自编写《python编程从入门到实践》中译版图书销量破百万册,完整版PDF开放下载

    为什么要学习python 主流编程语言 世界上的编程语言有600多种,但真正大家主流在使用的最多二三十种,不同的语言有自己的特点和擅长领域,随着计算机的不断发展,新语言在不断诞生,也同时有很多老旧的语 ...

  7. 《Python编程从入门到实践 第2版》 读后感

    <Python编程从入门到实践 第2版> 读后感 一直在想,一本好的Python书籍应该是怎样的?是将所有的基础知识点都讲解透彻?还是仅仅从方法上对读者授之以渔呢?我想这也是很多著书人在开 ...

  8. python编程 从入门到实践怎么样-python编程从入门到实践这本书怎么样

    <Python编程-从入门到实践>作者: Eric Matthes,已翻译为中文,人民邮电出版社出版. python编程从入门到实践怎么样? 我们一起看看已经学习的同学对这本书的口碑和评价 ...

  9. python编程入门指南怎么样-python编程从入门到实践这本书怎么样

    <Python编程-从入门到实践>作者: Eric Matthes,已翻译为中文,人民邮电出版社出版. python编程从入门到实践怎么样? 我们一起看看已经学习的同学对这本书的口碑和评价 ...

最新文章

  1. 创维 linux内核,Linux2.6内核在创维特jx2410平台上的移植四
  2. 白话Elasticsearch42-深入聚合数据分析之案例实战__bucket filter:统计牌品最近一个月的平均价格(Filter Aggregation)
  3. 减少过程中的浪费(2/2)
  4. ITK:从二进制图像中提取最大的连接组件
  5. jquery批量删除
  6. coredump_filter的设置
  7. angularjs揭秘
  8. Android自己写的三款实用开关控件
  9. Mutt email 程序使用入门 作者:王垠
  10. MySQL中IN子查询会导致无法使用索引
  11. 聪明人自动焊锡机器人_使用自动焊锡机的优势有哪些?
  12. mysql的配置步骤
  13. Linux小知识--通过MAC地址查询厂家OUI(成功率很高)
  14. 信息学奥赛一本通1045
  15. w3cschool算法挑战记录1-16(位移密码算法挑战)
  16. 6. NMF方法及实例
  17. PowerDesigner的使用
  18. MobaXterm登录密码重置
  19. 什么是NETBIOS?
  20. nokia x android 界面,诺基亚(NOKIA)X手机主界面评测-ZOL中关村在线

热门文章

  1. 强烈推荐《价值:我对投资的思考》
  2. 雷林鹏分享:CSS Id 和 Class
  3. Springboot读取jar包中的MANIFEST.MF文件内容
  4. java笔试题(1)
  5. 使用Tomcat配置域名
  6. 家的N次方 经典台词
  7. 广度优先搜索——字串变换(洛谷 P1032)
  8. kafka redis vs 发布订阅_发布订阅的消息系统 Kafka的深度解析
  9. python向字典添加元素_python中怎么向字典添加元素
  10. 线上课堂:ernetes Operator开发范式 - TiDB