这个精灵组的问题

这个精灵组的问题

http://img1.sycdn.imooc.com//climg/5e15db550985359b02770081.jpg这里从精灵组移除,使用self.plane.bullets是怎么调用的,这个是bullet.py文件,定义精灵组是在plane.py文件的类属性里面。这里也没有import plane,  也可以用self.plane.bullets调用精灵组?

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

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

1回答
好帮手乔木 2020-01-09 11:16:57

同学你好:

bullet.py:

构造函数中,对plane进行初始化。

self.plane = plane

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

plane.py:

Plane类:

slef代表当前的实例对象。

OurPlane类继承Plane,可以使用shoot方法。

在shoot方法时,定义一个Bullet类的实例对象。定义该对象是传入的self参数就是飞机对象。

然后在子弹类中使用该对象即可。

bullets=pygame.sprite.Group()

bullets是Plane类的属性。

因此self.plane可以调用。

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

如果我解决了同学的问题,请采纳!学习愉快^_^。

  • 提问者 weixin_慕UI515575 #1
    我用按视频用这个方法,在bullet.py中绘制子弹后,运行不报错,按空格有射击的声音,就是看不到子弹图片, 在plane.py中间的shoot方法子弹实例化bullet = Bullet(self.screen, self,15) 这个screen应该在bullet.py中能调用吧,怎么看不到子弹,又没报错
    2020-01-09 22:46:01
  • 提问者 weixin_慕UI515575 #2
    可以了,能显示了,子弹加入精灵组,调用子弹的方法一定要通过精灵组调用吗? 通过精灵组调用子弹方法就可以显示了
    2020-01-09 23:06:07
  • 好帮手慕美 回复 提问者 weixin_慕UI515575 #3
    同学,你好。screen在bullet.py中能调用,该语句只是对Bullet类进行实例化。Bullet()继承了pygame.sprite.Sprite精灵类,可以看作一个精灵,将子弹添加到精灵组后,通过精灵组bullets调用update()方法更改子弹的位置才可以。祝学习愉快~~~~
    2020-01-10 10:03:59
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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