Python:’Alien’ object has no attribute ‘draw_bullet’

m0_50772802 2021-01-20 09:38:08
按照书上的练习,莫名其妙的报错…Alien 类在alien 模块中,draw_bullet 在 bullet 模块的Bullet 类中,毫不相关啊。关键我之前还运行过好多次,突然就报错了。 检查过 __init__;重启过;删过pyc; 求大神指点迷津
...全文
608 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
KyLiNHQL 2022-07-05
  • 打赏
  • 举报
回复

你好

        for bullet in self.bullets:  # bullets.sprites()方法返回一个列表,包含编组bullets的所有精灵,for来遍历编组bullets的所有精灵
            bullet.draw_bullet()   # 对每个精灵调用,在屏幕上绘制发射的所有子弹
把aliens_invasion 中的self.bullets.sprites最后的sprites删除即可

一一一,嗯 2022-01-11
  • 打赏
  • 举报
回复

同样的问题,请问修复了吗

laotian07 2022-03-30
  • 举报
回复
@一一一,嗯 这个问题你解决了吗,我也遇到了
m0_50772802 2021-01-21
  • 打赏
  • 举报
回复
救救孩子呀
m0_50772802 2021-01-21
  • 打赏
  • 举报
回复
救救孩子,重装软件也不行啊
m0_50772802 2021-01-20
  • 打赏
  • 举报
回复
救救孩子
代码转载自:https://pan.quark.cn/s/a4b39357ea24 在本项研究中,我们研究了如何运用8155微处理器扩展单元与74LS164串行到并行转换电路来操控八段数码管的显示。74LS164被视为一个核心部件,它使得串行数据能够转化为并行输出,这对于驱动数码管极为关键,因为数码管普遍需要并行数据输入来点亮不同的段。74LS164的功能机制在于接收串行输入的数据,并在每个时钟脉冲之后将其转化为并行输出。在该配置中,8155的PB0引脚被用来管理数据位的输入,而PB1则承担时钟信号的角色。这表明我们可以通过调控8155的这两个引脚来决定何时将数据传输至74LS164,以及何时执行位移操作。 在编程层面,我们需要开发一段代码来处理上述流程。在提供的代码示例中,`DAT164`标识数据位地址,`CLK164`指代时钟位地址。`LEDBuf`是一个用于存放待显示数字的缓冲存储区,而`Num`则用于保存待显示的数值。`DisplayLED`子程序负责将数据从缓冲区`LEDBuf`搬运到74LS164,并通过8155的PB0和PB1引脚来调控74LS164的输入与时钟。 在`DisplayLED`子程序的操作中,首先会关闭所有的八段数码管,然后逐位从缓冲区`LEDBuf`中读取数据,通过循环右移指令(`rlc`)进行数据位移,并将最低位送入74LS164。在每次数据传输完成后,会通过变换PB1的电平(交替高低电平)来生成时钟脉冲,使74LS164能够接收新的数据。这一过程会重复8次,确保所有8段数码管的段码都被精确设置。通过调整`OUTBIT`的值来选择特定的数码管进行显示。 另外,实验还包含了8155 I/O/RAM扩展单元的应用。8155芯片提供...

37,737

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧