我正在使用平台游戏在整个关卡中搭建平台。我知道如何使用pygame.transform.scale,但我使用的是带有类等的Spritesheet,因此这并不完全有效。所以我不断收到这个错误: “ TypeError:参数1必须是pygame.Surface,而不是list” 有谁知道如何解决这一问题? (底部完全错误)
class SpriteSheet(object):
def __init__(self, file_name):
# Load the sprite sheet.
self.sprite_sheet = pygame.image.load(path.join(img_dir,
file_name)).convert()
def get_image(self, x, y, width, height):
# Create a new blank image
image = pygame.Surface([width, height]).convert()
# Copy the sprite from the large sheet onto the smaller image
image.blit(self.sprite_sheet, (0, 0), (x, y, width, height))
# Assuming black works as the transparent color
image.set_colorkey(constants.BLACK)
# Return the image
return image
GRASS = (648, 0, 70, 70)
class Platform(pygame.sprite.Sprite):
def __init__(self, sprite_sheet_data):
super().__init__()
sprite_sheet = SpriteSheet('tiles_spritesheet.png')
# Grab the image for this platform
self.image = sprite_sheet.get_image(sprite_sheet_data[0],
sprite_sheet_data[1],
sprite_sheet_data[2],
sprite_sheet_data[3])
self.rect = self.image.get_rect()
class Level01(Level):
Level.__init__(self, player)
level_floor = [[platforms.GRASS, 300, 550]]
pygame.transform.scale(level_floor, (6000, 50)
for platform in level_floor:
floor = platforms.Platform(platform[0])
floor.rect.x = platform[1]
floor.rect.y = platform[2]
floor.player = self.player
self.platform_list.add(floor)
错误:
Traceback (most recent call last):
File "/Users/qingduliu/PycharmProjects/Platformer/platform_scroller.py", line 105, in <module>
main()
File "/Users/qingduliu/PycharmProjects/Platformer/platform_scroller.py", line 23, in main
level_list = [levels.Level01(player), levels.Level02(player)]
File "/Users/qingduliu/PycharmProjects/Platformer/levels.py", line 98, in __init__
pygame.transform.scale(level_floor, (6000, 50))
TypeError: argument 1 must be pygame.Surface, not list