【问题标题】:Any way to deal with cropping sprite images - Python/Pygame处理裁剪精灵图像的任何方法 - Python/Pygame
【发布时间】:2020-01-12 17:28:05
【问题描述】:

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

【问题讨论】:

  • 现在我将使用不同的裁剪图像集,但任何答案仍然会帮助我和其他人进行未来的编程。

标签: python image pygame sprite


【解决方案1】:

我最近创建了一个国际象棋程序,其中我使用了一个包含所有棋子的 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))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-27
    • 1970-01-01
    • 2011-02-04
    • 2011-09-08
    • 2015-06-21
    相关资源
    最近更新 更多