鱼C论坛

 找回密码
 立即注册
查看: 1498|回复: 1

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

[复制链接]
发表于 2022-5-22 11:31:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 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'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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'}


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-8 00:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表