微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么 pygame.Surface 对象不能在类内下标?

如何解决为什么 pygame.Surface 对象不能在类内下标?

所以我有一个要在类中索引的图像列表。

错误代码

imgs = [pygame.image.load("myimg1.png"),pygame.image.load("myimg2.png"),pygame.image.load("myimg3.png")]

class ParentClass:
    def __init__(self,imgs,coordinates):
        self.imgs = imgs
        self.index = 0
        self.activeImg = imgs[self.index]
        self.x,self.y = coordinates

class ChildClass(ParentClass):
    def __init__(self,coordinates):
        super().__init__(imgs,coordinates)
        #more stuff

child = ChildClass(imgs,(100,100))

错误

TypeError: 'pygame.Surface' object is not subscriptable

代码没有错误:(不是我想要的)

imgs = [pygame.image.load("myimg1.png"),startImg,coordinates):
        self.imgs = imgs
        self.index = 0
        self.activeImg = startImg
        self.x,imgs[0],100))

我不明白为什么这个错误会出现在我的主代码中。据我所知,这个图像列表应该没有任何错误地编入索引。 Python 似乎在想我正在索引 pygame.Surface 对象(显然不是我在做什么)。但另一方面,当我将它作为参数传递时,它运行时没有任何错误(我觉得这很令人困惑)。

帮助将不胜感激。谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。