执行our_plane=OurPlane(screen)这行代码出错

执行our_plane=OurPlane(screen)这行代码出错

执行 our_plane=OurPlane(screen)这行代码出错,其中screen是屏幕对象,是这样实例化的screen = pygame.display.set_mode((width, height)),错误提示如下:

Traceback (most recent call last):
  File "C:/Users/fubai/PycharmProjects/飞机大战作业[v0.1]/main.py", line 44, in <module>
    our_plane=OurPlane(screen)
  File "C:\Users\fubai\PycharmProjects\飞机大战作业[v0.1]\venv\lib\site-packages\pygame\sprite.py", line 124, in __init__
    self.add(*groups)
  File "C:\Users\fubai\PycharmProjects\飞机大战作业[v0.1]\venv\lib\site-packages\pygame\sprite.py", line 142, in add
    self.add(*group)
TypeError: add() argument after * must be an iterable, not pygame.Surface

怎么传入的参数要是一个迭代,而不是Surface,请问老师该如何解决?谢谢!

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

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

1回答
好帮手慕笑蓉 2020-04-19 17:53:20

同学,你好。传入参数的是迭代器和普通传参形式是一样的,OurPlane的初始化函数是否有形参接收参数screen,且传入的screen是否是合理进行调用了,比如screen不是一个屏幕对象,却利用屏幕对象的方法进行了使用,如图:

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

如果没有,可根据老师代码的进入完善。如果问题还是没有解决,可再次截图到问答区提问,会安排老师帮你解决的。

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

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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