鲨鱼辣椒1 发表于 2021-6-7 21:23:01

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))





hrp 发表于 2021-6-7 21:36:57

boss1_enemies不是你定义的Group吗,上面的me又是什么?也是Group吗?应该不是吧?既然boss1_enemies和me是不同的对象,为什么你会写相同的.rect?

鲨鱼辣椒1 发表于 2021-6-7 21:40:53

hrp 发表于 2021-6-7 21:36
boss1_enemies不是你定义的Group吗,上面的me又是什么?也是Group吗?应该不是吧?既然boss1_enemies和me是 ...

me不是group,me是另一个实例化对象me = myplane.MyPlane(bg_size),那大佬这应该怎么改一下

hrp 发表于 2021-6-7 21:54:20

鲨鱼辣椒1 发表于 2021-6-7 21:40
me不是group,me是另一个实例化对象me = myplane.MyPlane(bg_size),那大佬这应该怎么改一下

上面你把Group对象放进Group对象里(好像是?),没看明白,而且你代码也不完整,无从推断
还有就是我不怎么熟悉pygame

鲨鱼辣椒1 发表于 2021-6-7 21:58:08

hrp 发表于 2021-6-7 21:54
上面你把Group对象放进Group对象里(好像是?),没看明白,而且你代码也不完整,无从推断
还有就是我不怎 ...

好吧谢谢大佬,我是新手哈哈,听你这么一说我好像有点头绪了
页: [1]
查看完整版本: AttributeError: 'Group' object has no attribute 'rect'