AttributeError: 'Group' object has no attribute 'rect'
下面是我的代码,错误发生在最后一行,为什么会提示AttributeError: 'Group' object has no attribute 'rect'啊。enemies = pygame.sprite.Group() # 把大中小敌机都放到一个组里面,方便使用
boss_enemies = pygame.sprite.Group()
small_enemies = pygame.sprite.Group() # 实例化组对象,生成敌方小型飞机
add_small_enemies(small_enemies, enemies, 15) # 把添加飞机的过程抽象成函数,方便调用。将它添加到small_enemies, enemies这两个组里面,添加15个
mid_enemies = pygame.sprite.Group() # 生成敌方中型飞机
add_mid_enemies(mid_enemies, enemies, 4)
big_enemies = pygame.sprite.Group() # 生成敌方大型飞机
add_big_enemies(big_enemies, enemies, 2)
boss1_enemies = pygame.sprite.Group()
add_boss_enemies(boss1_enemies, boss_enemies,1) # 生成Boss1号
# 生成我方普通子弹
bullet1 = [] # 生成普通子弹,放到一个列表里
bullet1_index = 0
BULLET1_NUM = 4 # 定义4颗子弹(正好4颗子弹配合速度覆盖了屏幕百分之80区域)
for i in range(BULLET1_NUM):
bullet1.append(bullet.Bullet1(me.rect.midtop)) # rect.midtop:rect类默认的,顶部中央位置
# 生成我方超级子弹
bullet2 = []
bullet2_index = 0
BULLET2_NUM = 8
for i in range(BULLET2_NUM // 2):
bullet2.append(bullet.Bullet2((me.rect.centerx-33, me.rect.centery))) # 位于我方飞机两侧
bullet2.append(bullet.Bullet2((me.rect.centerx+30, me.rect.centery)))
# 生成boss1子弹
bullet3 = []
bullet3_index = 0
BULLET3_NUM = 4
for i in range(BULLET3_NUM):
bullet3.append(boss_bullet.Boss1_bullet(boss1_enemies.rect.midbottom))
boss1_enemies不是你定义的Group吗,上面的me又是什么?也是Group吗?应该不是吧?既然boss1_enemies和me是不同的对象,为什么你会写相同的.rect? hrp 发表于 2021-6-7 21:36
boss1_enemies不是你定义的Group吗,上面的me又是什么?也是Group吗?应该不是吧?既然boss1_enemies和me是 ...
me不是group,me是另一个实例化对象me = myplane.MyPlane(bg_size),那大佬这应该怎么改一下 鲨鱼辣椒1 发表于 2021-6-7 21:40
me不是group,me是另一个实例化对象me = myplane.MyPlane(bg_size),那大佬这应该怎么改一下
上面你把Group对象放进Group对象里(好像是?),没看明白,而且你代码也不完整,无从推断
还有就是我不怎么熟悉pygame hrp 发表于 2021-6-7 21:54
上面你把Group对象放进Group对象里(好像是?),没看明白,而且你代码也不完整,无从推断
还有就是我不怎 ...
好吧谢谢大佬,我是新手哈哈,听你这么一说我好像有点头绪了
页:
[1]