我如何处理 pygame 中空白空间太大的精灵图像? [重复]

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

我目前正在练习使用 pygame 开发基于 2D tile 的游戏,现在正在学习如何使用 spritesheet。不喜欢一般的 youtube 视频,我下载的免费 spritesheet 空间太大了。

例如, Image for walk sprite

如果我将这个 sprite 表拆分成 6 个单独的 sprite,角色位于 sprite 的 25% - 50% 的宽度和 50% - 100% 的高度。

一个更大的问题是有些图像达到了精灵宽度的 25% - 75%。

例如, Image for attack sprite

我的 spritesheet 代码是这样的:

class Spritesheet():
    def __init__(self, image):
        self.sheet = image

    def get_image(self, frame, width, height, scale, colour = None):
        image = pygame.Surface((width, height)).convert_alpha()
        image.blit(self.sheet, (0, 0), ((frame * width), 0, width, height))
        image = pygame.transform.scale(image, (width * scale, height * scale))
        image.set_colorkey(colour)

        return image

我怎样才能改变我的 spritesheet 类来解决这个问题?还是我应该手动编辑所有的 spritesheet?

我想知道如何剪切(而不是调整大小)精灵

pygame sprite-sheet
© www.soinside.com 2019 - 2024. All rights reserved.