Pygame 缩放精灵

Cha*_*oon 6 python pygame

如何将精灵的图像缩放为更大或更小?我可以更改矩形和所有内容,但不能更改图像。

代码:(虽然我不确定你为什么需要它)

class test(pygame.sprite.Sprite):
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)

        self.image = pygame.image.load("testImage.png").convert()
        self.image.set_colorkey((255,255,255))
        self.rect = self.image.get_rect()
Run Code Online (Sandbox Code Playgroud)

mac*_*fij 5

阅读 pygame 的转换模块:http ://www.pygame.org/docs/ref/transform.html

class test(pygame.sprite.Sprite):
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.image.load("testImage.png").convert()
        self.image.set_colorkey((255,255,255))
        # return a width and height of an image
        self.size = self.image.get_size()
        # create a 2x bigger image than self.image
        self.bigger_img = pygame.transform.scale(self.image, (int(self.size[0]*2), int(self.size[1]*2)))
        # draw bigger image to screen at x=100 y=100 position
        self.screen.blit(self.bigger_img, [100,100])
Run Code Online (Sandbox Code Playgroud)


小智 5

你有没有尝试过

pygame.transform.scale()
Run Code Online (Sandbox Code Playgroud)

官方文档指出你应该使用这个语法:

scale(Surface, (width, height), DestSurface = None) -> Surface
Run Code Online (Sandbox Code Playgroud)

  • self.image = pygame.image.load("testImage.png").convert() self.image.set_colorkey((255,255,255)) pygame.transform.scale(self.image, (9999, 99999), None) 文档说 DestSurface 是可选的。 (2认同)