任何处理裁剪精灵图像的方法 - Python/Pygame



我想在pygame中为我的精灵使用一些图像,而我需要很多图像来制作动画,但它们都没有裁剪到实际图像的边缘。因此,要么我需要裁剪每个图像,要么可以使用精灵表。还有其他方法可以快速做到这一点吗?

我最近创建了一个国际象棋程序,其中我使用了一个包含所有棋子的精灵表。首先,我导入精灵表并将其转换为我需要的正确大小(SQW 是棋盘上每个方块的 with(。然后,我在嵌套的 for 循环中裁剪它以获得片段图像列表。我需要一个嵌套的 for 循环,因为精灵表包含 2 行,包含 6 张图像,每行有黑白片段。代码如下所示:

SPRITE = pygame.transform.smoothscale(pygame.image.load('imgs/pieces.png'), (int(SQW*6), int(SQW*2)))
PIECES = [None] * 12
for i in range(2):
for j in range(6):
PIECES[j + i*6] = pygame.Surface.subsurface(SPRITE, (j*SQW, i*SQW, SQW, SQW))

最新更新