“大小必须是两个数字”是什么意思我在 pygame 中尝试将图像 blit 到窗口时收到此错误

问题描述 投票:0回答:1

当尝试将图像传输到我的窗口时,我收到错误代码

TypeError: size must be two numbers

我试图缩放我的像素艺术而不模糊,所以我尝试使用函数 smoothscale,但是当尝试运行它时,它显示此错误代码,这里是代码

class Player(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()
        self.idle_D_image = pygame.transform.smoothscale(pygame.image.load('Art_Assets/Idle/Knight_Idle_Sprite0.png').convert_alpha(), PLAYER_SIZE)
        self.pos = pygame.math.Vector2(PLAYER_START_X, PLAYER_START_Y)
        self.speed = PLAYER_SPEED

我不知道这是否是一个简单的解决方案,因为我对编程总体来说是新手,并且认为尝试制作游戏将是一种更有趣的学习方式。 谢谢你:)

python pygame
1个回答
0
投票

查看 pygame.transform 文档

pygame.transform.smoothscale() 将表面平滑缩放到任意大小

[..剪断..]

尺寸是(宽度,高度)的 2 个数字序列。

如果您检查他们链接的示例,您会发现您的代码应该更像

pygame.transform.smoothscale(texture, (PLAYER_SIZE, PLAYER_SIZE))

假设您想将其缩放为正方形。否则,请执行

size=(width, height)

© www.soinside.com 2019 - 2024. All rights reserved.