AttributeError: 'Sprite'对象没有'image'属性

0 投票
2 回答
6167 浏览
提问于 2025-04-17 13:19

我用下面的代码定义了我的精灵:

user = pygame.sprite.Sprite()

然后我尝试这样做:

user.image == pygame.image.load(userstationary).convert()

但是我遇到了标题中的错误

任何帮助都非常感谢

2 个回答

0

很简单。你用了双等号(==),而应该用单等号(=)。比如,你应该把 user.image == pygame.image.load(userstationary).convert() 改成 user.image = pygame.image.load(userstationary).convert()

0

我觉得这个问题是因为对pygame中Sprite类的用途有些误解。这个类并不是让你直接使用的,而是应该作为一个基础类,让你可以在它的基础上定义自己的子类。

所以,你可以像这样定义一个简单的自己的类:

class User(pygame.sprite.Sprite):
    def __init__(self, image_file):
        self.image = pygame.image.load(image_file).convert()
        self.rect = self.image.get_rect()

撰写回答