我找不到错误。试了几个小时。
当我运行代码时,我得到消息:
Ballons的对象没有属性图像
详细信息如下:
回溯(最近一次调用last):文件“c:\pythonprogram\ballon\u jagd copy.py”,第47行,在ballon\u精灵中。绘制(spielfeld)文件“C:\Users\chef\AppData\Local\Programs\Python39\lib\site packages\pygame\sprite.py”,第546行,在绘制图面中。sprite中spr的blits((spr.image,spr.rect)文件“C:\Users\chef\AppData\Local\Programs\Python\Python39\lib\site packages\pygame\sprite.py”,第546行,在surface中。blits((spr.image,spr.rect)用于精灵中的spr)AttributeError:“气球”对象没有属性“image”
代码如下:
class Ballons(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
z_bild = pygame.image.load("Bilder/ballons/ballon1.png")
self.einzel_bild = z_bild
self.rect = self.einzel_bild.get_rect()
self.rect_x = random.randint(100,1800)
self.rect_y = 700
def update(self):
self.rect_y -=5
def draw_bg():
spielfeld.fill(bg)
#Allgemein..............................................
pygame.init()
clock = pygame.time.Clock()
bg = (50,250,50)
#Spielfeld..............................................
bild_breite = 1920
bild_hoehe = 1080
spielfeld = pygame.display.set_mode((bild_breite,bild_hoehe))
#Erstellung Sprite und Group
ballon_sprites = pygame.sprite.Group()
ballon = Ballons()
ballon_sprites.add(ballon)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
#Zeichnen
draw_bg()
ballon_sprites.draw(spielfeld)
ballon_sprites.update()
pygame.display.flip()
clock.tick(60)nter code here
pygame。(传说中的)精灵组draw()
使用包含的pygame的
s以绘制对象。请参见图像
和rect
属性。(传说中的)精灵精灵pygame。(传说中的)精灵组draw()
:
将包含的精灵绘制到Surface参数。这使用了源表面的Sprite.image
属性和Sprite.rect
。[...]
因此,一个Ballon
必须具有一个名为Image
的属性:
class Ballons(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load("Bilder/ballons/ballon1.png")
self.rect = self.image.get_rect()
self.rect_x = random.randint(100,1800)
self.rect_y = 700
def update(self):
self.rect_y -=5