pygame 求助大佬,报错:..."list" and "int"

报错:“unsupported operand type(s) for -: 'list' and 'int'”
以下为报错的代码,
我以为是列表和数字不能进行运算,所以把他拿出来单独拿出来之后确认没有其他问题的情况下又用不同方法测试了几次成绩始终不理想 = =l。
orz orz orz


class Glass(pygame.sprite.Sprite):
def init(self, glass_image, bg_size = (800, 600)):

初始化动画精灵

    pygame.sprite.Sprite.__init__(self)

    self.glass_image = pygame.image.load(glass_image).convert_alpha()
    self.glass_rect = self.glass_image.get_rect()
    self.glass_rect.left, self.glass_rect.top = (bg_size[0] - self.glass_rect.width) // 2, (bg_size - self.glass_rect.height) // 2

glass = Glass(glass_image, bg_size)


↓ ↓
pygame求助大佬:报错“unsupported operand type(s) for -: 'list' and 'int'”

最佳答案

(bg_size - self.glass_rect.height) 这个不对吧,bg_size是个元组,不能减一个数字,报错信息也是这么说的

4年前 评论
IFCll (楼主) 4年前
讨论数量: 2

(bg_size - self.glass_rect.height) 这个不对吧,bg_size是个元组,不能减一个数字,报错信息也是这么说的

4年前 评论
IFCll (楼主) 4年前
Jason990420

bg_size - self.glass_rect.height
tupple - int : Not supported

bg_size ==> bg_size[1]

self.glass_rect.left, self.glass_rect.top = (bg_size[0] - self.glass_rect.width) // 2, (bg_size[1] - self.glass_rect.height) // 2
4年前 评论
IFCll (楼主) 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!