AttributeError: 'HeroPlane' object has no attribute 'image'

为什么一直显示有错误啊?

img

找了好久也没发现哪里错了,有人能帮忙看看么

import random
import time
import pygame
from pygame.constants import *

class HeroPlane(pygame.sprite.Sprite):
    def __init__(self, screen):
        pygame.sprite.Sprite.__init__(self)
        self.player = pygame.image.load("./fei ji/pink.png")
        self.rect = self.image.get_rect()  
        self.rect.topleft = [400 / 2 - 200 / 2, 430]  

def main():
    sound = GameSound()
    sound.playBackMusic()
    screen = pygame.display.set_mode((400, 650), 0, 32)  
  
    background = pygame.image.load("./fei ji/bg.png")
    player = HeroPlane(screen)
    enemyplane = EnemyPlane(screen)

    while True:  
        screen.blit(background, (0, 0))  # (0, 0)

        for event in pygame.event.get():
        
            if event.type == pygame.QUIT:
                pygame.quit()
                exit()  
        player.key_control()
        player.display()
        enemyplane.display()
        enemyplane.auto_move()
        enemyplane.auto_fire()
        pygame.display.update()
        time.sleep(0.01) 

if __name__ == '__main__': 
    main()

你 self.player = pygame.image.load("./fei ji/pink.png")
定义的属性是 self.player ,没有self.image属性

    self.rect = self.image.get_rect()

应该改成

    self.rect = self.player.get_rect()

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

HeroPlane没有属性image,将self.player = pygame.image.load("./fei ji/pink.png")改成
self.image = pygame.image.load("./fei ji/pink.png")。

如有帮助,请点采纳。

HeroPlane没有属性或方法image,你看看是不是你pygame的版本问题,降低版本试试,不然就是代码问题了

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632