guitarliu 发表于 2022-5-22 11:31:51

pygame的Sprite精灵类为什么没有属性

本帖最后由 guitarliu 于 2022-5-22 11:33 编辑

import pygame
a = pygame.sprite.Sprite()
print(a.image)

按道理Sprite精灵类中已经封装了image和rect属性,为什么不能输出呢?
输出结果报错:AttributeError: 'Sprite' object has no attribute 'image'

Twilight6 发表于 2022-5-22 13:05:29


因为 pygame.sprite.Sprite 是个基类,主要用于规范子类

我们使用需要在我们的子类的 构造函数 中对 image 属性进行初始化,才能具体调用

import pygame
a = pygame.sprite.Sprite()

print(a.__dict__)

输出结果:

{'_Sprite__g': {}}

import pygame

class Test(pygame.sprite.Sprite):
    def __init__(self, image):
      pygame.sprite.Sprite.__init__(self)
      self.image = image

test = Test("Test")
print(test.__dict__)

输出结果:

{'_Sprite__g': {}, 'image': 'Test'}


页: [1]
查看完整版本: pygame的Sprite精灵类为什么没有属性