Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 属性错误:';暴民';对象没有属性'_雪碧';_Python_Attributes_Pygame_Sprite - Fatal编程技术网

Python 属性错误:';暴民';对象没有属性'_雪碧';

Python 属性错误:';暴民';对象没有属性'_雪碧';,python,attributes,pygame,sprite,Python,Attributes,Pygame,Sprite,我正在尝试制作一个在屏幕上多次繁殖的精灵。精灵将用于碰撞。精灵之前有一个randrange问题,我相信已经解决了。但雪碧集团仍然存在一个问题 AttributeError:“Mob”对象没有属性“\u Sprite\u\g” class Mob(pygame.sprite.Sprite): def __init__(self, x, y): self.image = pygame.Surface((9

我正在尝试制作一个在屏幕上多次繁殖的精灵。精灵将用于碰撞。精灵之前有一个randrange问题,我相信已经解决了。但雪碧集团仍然存在一个问题

AttributeError:“Mob”对象没有属性“\u Sprite\u\g”

            class Mob(pygame.sprite.Sprite):
                def __init__(self, x, y):
                    self.image = pygame.Surface((90, 90)).convert_alpha()
                    self.image = pygame.image.load(badguy_file).convert_alpha()
                    self.image = pygame.transform.scale(self.image, (100, 100))
                    self.rect = pygame.Rect(x, y, 100, 100)
                    self.x = x
                    self.y = y
                    self.rect.x = random.randrange(800 - 100)
                    self.rect.y = random.randrange(-100, -40)
                    self.speedx = random.randrange(4)
                    self.mask = pygame.mask.from_surface(self.image)

                def update(self):
                    self.rect.y += self.speedy
                    if self.rect.top > height + 10 or self.rect.left < -25 or self.rect.right > width + 20:
                        self.rect.x = random.randrange(width - self.rect.width)
                        self.rect.y = random.randrange(-100, -40)
                        self.speedx = random.randrange(1,0)

                def render(self, screen):
                    screen.blit(self.image, (self.x, self.y))

            mobs = pygame.sprite.Group()       
            for i in range(8):
                mob = Mob(200,300)
                mobs.add(mob)
类怪物(pygame.sprite.sprite):
定义初始化(self,x,y):
self.image=pygame.Surface((90,90)).convert_alpha()
self.image=pygame.image.load(badguy_文件).convert_alpha()
self.image=pygame.transform.scale(self.image,(100100))
self.rect=pygame.rect(x,y,100100)
self.x=x
self.y=y
self.rect.x=random.randrange(800-100)
self.rect.y=random.randrange(-100,-40)
self.speedx=random.randrange(4)
self.mask=pygame.mask.from_surface(self.image)
def更新(自我):
self.rect.y+=自加速
如果self.rect.top>高度+10或self.rect.left<-25或self.rect.right>宽度+20:
self.rect.x=random.randrange(宽度-self.rect.width)
self.rect.y=random.randrange(-100,-40)
self.speedx=random.randrange(1,0)
def渲染(自身,屏幕):
blit(self.image,(self.x,self.y))
mobs=pygame.sprite.Group()
对于范围(8)中的i:
暴民=暴民(200300)
mobs.add(mob)

您必须在Mob的
\uuuu init\uuu
函数中调用
\uuuu init\uuu
函数(或者使用
super()
,具体取决于您的python版本),如

class Mob(pygame.sprite.Sprite):
    def __init__(self, x, y):
        pygame.sprite.Sprite.__init__(self)
        ...
        ...