我转载的飞机大战文章中,由于只是采用飞机或子弹的属性进行隐藏,在子弹和飞机较少时,不影响游戏体验。但当有大量敌机,大量子弹时候,由于需要每次都遍历 list,会卡的动不了。只能采取删除措施了。

在子弹飞出屏幕后,从列表中删除。

敌机飞出屏幕后,从列表中删除。

这似乎很容易实现,判断下坐标就行。但是敌机在幕上被打死,如果删除敌机,该机的子弹也删除了,因为这些子弹是敌机的属性,敌机删了,里面的属性都会自动删除。

要想实现敌机死了,子弹还能在飞一会儿。想出了个笨办法。

在主程序中添加一个self.enemy_bullets 的list。敌人发射的子弹存到里面,这些子弹只有在离开屏幕后才删除。这一个判断可以在子弹类中添加 属性例如 self.outscene,默认False,飞出时设置成True ,主程序里判断该属性。也可以直接在主程序里判读是否超过屏幕。要注意的是,各种坐标计算、绘制、碰撞检查时,应该改用 self.enemy_bullets 了。

但这种用法始终是不舒服,想一步想用pygame.sprint来自动管理这些添加,删除的方法。

pygame 飞机大战 让子弹再飞一会儿相关推荐

  1. pygame飞机大战关于子弹的设计(一)(含源码)

    Exe如下,欢迎试玩! 链接:https://pan.baidu.com/s/1Hw-DP98Jayr-jmE3ZCe9NA 提取码:2xsq 先上图,终极子弹: 我方子弹共有三种模型:基础子弹.双发 ...

  2. 小甲鱼python游戏代码_【小甲鱼】零基础学习python pygame 飞机大战可执行源代码...

    [实例简介] [小甲鱼]零基础学习python pygame 飞机大战可执行源代码,觉得挺有意思,故此分享. [实例截图] [核心代码] 飞机大战 └── 飞机大战 ├── bullet.py ├── ...

  3. Pygame飞机大战(四)——创建己方飞机的类,并添加子弹吧

    我们接下来要基于pygame.sprite.Sprite创建自己的类,首先必须是主角的,创建一个己方飞机的类,并且给飞机加上子弹哈! 首先我们还是先分析一下,己方飞机需要有哪些部分构成: 自身的图片加 ...

  4. pygame 飞机大战子弹的编写(三)自定义子弹位置、速度、角度

    目标:实现子弹的出现位置(为飞机发射做准备),子弹的速度,角度自定义. 添加两个函数 set_post(self, x, y)  #实现 x ,y 坐标出现,这里的坐标是相对于父坐标的. set_sp ...

  5. pygame 飞机大战子弹的编写(一)绘制子弹

    目标:子弹出现在屏幕上 先从子弹开始写.子弹是敌机.BOSS机和英雄机都要用到的,涉及到各种花样玩法 定义子弹类. 先简单的定义,建个bullet.py文件,建立Bullet类,从pygame.spr ...

  6. pygame 飞机大战子弹的编写(七)花样年华

    目标:实现子弹的花样玩法,不同的子弹类型(image),不同的发射方式(speed,angle),不同的子弹数量. 前面几篇文字,已经实现了子弹的不同特性,组合下就能开启子弹的花样年华. 想了两个方案 ...

  7. Python程序设计,pygame飞机大战课程设计

    *飞机大战游戏设计 摘 要:根据课程要求,以及面向对象程序设计的编程思想,在Windows操作系统环境下,运用PyCharm编译程序,以Python语言为开发语言,最终实现飞机大战游戏相应的游戏操作功 ...

  8. pygame飞机大战 小游戏

    运行效果 代码 # 先导入系统模块 import sys # 随机模块 import random# 再导入第三方模块 import pygame import pygame.locals# 背景图片 ...

  9. pygame飞机大战系列文章介绍

    从开始学习python,到学习用pygame来写游戏,历时三个月,其中五月份基本荒废,原创写了53篇文章了,主要是用来记录下自己的学习经历. 写飞机大战的代码,主要经历了四个阶段.大家想学pygame ...

最新文章

  1. linxu 下安装mysql5.7.19
  2. CentOS6.5挂载windows共享文件夹
  3. 腾讯阿里谋定联姻农业 智慧农业对话中国农民丰收节交易会
  4. 【01】什么是AJAX
  5. mysql 自定义函数function,函数和存储过程的区别
  6. redis-数据类型-string类型
  7. 史上最强DIY,手工制作一只会说话的机器狗
  8. python之collections
  9. 使用fusion app制作b站app
  10. html图片从左到右慢慢出来,css 实现一个div的背景颜色从左到右慢慢出现 里面文字颜色也改...
  11. 浅谈Suffix Automaton(后缀自动机)
  12. php 邮箱反垃圾机制,企业邮箱中的反垃圾邮件规则
  13. 年度回顾篇:2018年的亚马逊,众生虽苦,诸恶莫作
  14. Python可视化数据学习
  15. 新的分享之路开启,感谢您的陪伴
  16. [转载]命令行也强大之下载迅雷资源的方法
  17. 耗时两周的P2PQQ终于完成了!!!
  18. 百度站长“快速收录”获取方法分享步骤流程
  19. 《人间告白.金鱼酱》摘录和读后感
  20. Unreal Engin_画廊制作笔记 _012修改World Settings设置

热门文章

  1. 三星移动端浏览器远程调试
  2. 矢量量化(Vector Quantization)(转)
  3. 按头安利 好看又实用的虚幻UE场景模型素材看这里
  4. Correction of the overexposed region in digital color image阅读札记
  5. 面试题整理 !=!=未看 *****面试题整理最全 有用
  6. 过关斩将属性配置出现问题
  7. 商标被抢注的坑,自媒体人如何主动避开?
  8. webgl-简单动画
  9. 通过API接口获取数据至后台
  10. Javascript 计算一年中的第几周 从几号开始到几号结束