关于这个精灵组的用法

关于这个精灵组的用法

老师您好,我对与bullets这个精灵组的用法还是有点不了解

比如最开始的bullets = pygame.sprite.Group() 这个代码的意思是调用精灵组并赋值为bullets么,

在bullet这个模块中,在自定义的update函数中,为什么remove这里的参数是self.plane.bullets呢,这个参数在前面并没有被调用呀

然后就是最后在绘制子弹的时候,代码是our_plane.bullets.update(),这个update函数是指bullet这个模块下的update函数么?如果是的话与前面的bullets有什么关系呢?

麻烦老师详细讲解一下

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕笑蓉 2020-05-17 15:44:23

同学,你好。self.plane是Bullet的实例化对象,但self.plane的值是Plane类的实例化对象,如:

http://img1.sycdn.imooc.com//climg/5ec0eaa1093449f005820149.jpg

因此调用self.plane即是用到了Plane类的实例OurPlane。

如果解决了你的疑惑,请采纳,祝学习愉快~ 


好帮手慕笑蓉 2020-05-17 15:21:40

同学,你好。

  1. bullets = pygame.sprite.Group()是将精灵组赋值给bullets,bullets是Plane类的类属性,而self.plane.bullets是Plane的实例对象plane调用的bullets,而plane是类Bullet里定义的实例化属性,因此可以被调用。

  2. self.our_plane.bullets.update(self)是指精灵组的update函数,而根据源码精灵组的update方法会调用精灵组每个精灵的update方法,每个精灵的update方法指的就是类Bullet里定义的update方法。

如果解决了你的疑惑,请采纳,祝学习愉快~ 

  • self.plane.bullets这个代码是出自Bullet中的,self.plane也是Bullet的实例化对象,但是bullets是另一个类Plane的类属性 Bullet和Plane这两个类并不是父集子集的关系,为什么可以被调用呢
    2020-05-17 15:34:42
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

1.Python零基础入门
  • 参与学习           人
  • 提交作业       2727    份
  • 解答问题       8160    个

想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师