【发布时间】:2020-01-12 17:28:05
【问题描述】:
我想在 pygame 中为我的精灵使用一些图像,而我需要许多图像来制作动画,它们都没有被裁剪到实际图像的边缘。所以要么我需要裁剪每一个图像,要么我可以使用 spritesheets。有没有其他方法可以快速做到这一点?
【问题讨论】:
-
现在我将使用不同的裁剪图像集,但任何答案仍然会帮助我和其他人进行未来的编程。
标签: python image pygame sprite
我想在 pygame 中为我的精灵使用一些图像,而我需要许多图像来制作动画,它们都没有被裁剪到实际图像的边缘。所以要么我需要裁剪每一个图像,要么我可以使用 spritesheets。有没有其他方法可以快速做到这一点?
【问题讨论】:
标签: python image pygame sprite
我最近创建了一个国际象棋程序,其中我使用了一个包含所有棋子的 spritesheet。首先,我导入了精灵表并将其转换为我需要的正确大小(SQW 是棋盘上每个正方形的大小)。然后我在一个嵌套的 for 循环中裁剪它以获得一个片段图像列表。我需要一个嵌套的 for 循环,因为 spritesheet 包含 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))
【讨论】: