我目前正在练习使用 pygame 开发基于 2D tile 的游戏,现在正在学习如何使用 spritesheet。不喜欢一般的 youtube 视频,我下载的免费 spritesheet 空间太大了。
如果我将这个 sprite 表拆分成 6 个单独的 sprite,角色位于 sprite 的 25% - 50% 的宽度和 50% - 100% 的高度。
一个更大的问题是有些图像达到了精灵宽度的 25% - 75%。
我的 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?
我想知道如何剪切(而不是调整大小)精灵