遇到雪碧时改变雪碧的形象

2024-03-28 15:54:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我们正在尝试用pygame制作一个包含多个关卡的游戏。对于特定级别,我们希望显示不同的精灵/图像(例如级别1->;女孩角色、级别2->;船图像、级别3->;女孩角色)。你知道吗

我们在一个名为播放器.py尝试定义不同的参与者:

def __init__(self):

    def player1 (self):
        sprite_sheet1 = SpriteSheet("boat0.png")
        image = sprite_sheet1.get_image(29,165,230,49)
        self.walking_frames_r.append(image)
        sprite_sheet2 = SpriteSheet("boat1.png")
        image = sprite_sheet2.get_image(30,168,228,42)
        self.walking_frames_r.append(image)
        sprite_sheet3 = SpriteSheet("boat2.png")
        image = sprite_sheet3.get_image(29,165,230,49)
        self.walking_frames_r.append(image)
        sprite_sheet2 = SpriteSheet("boat1.png")
        image = sprite_sheet2.get_image(30,168,228,42)
        self.walking_frames_r.append(image)

    def player2 (self):
        sprite_sheet6 = SpriteSheet("spriteStand.png")
        image = sprite_sheet6.get_image(34, 19, 32, 73)
        self.walking_frames_r.append(image)
        sprite_sheet7 = SpriteSheet("spriteWalkL2.png")
        image = sprite_sheet7.get_image(34, 19, 32, 73)
        self.walking_frames_r.append(image)
        sprite_sheet8 = SpriteSheet("spriteWalkL1.png")
        image = sprite_sheet8.get_image(34, 19, 32, 73)
        self.walking_frames_r.append(image)
        sprite_sheet9 = SpriteSheet("spriteWalkR2.png")
        image = sprite_sheet9.get_image(34, 19, 32, 73)
        self.walking_frames_r.append(image)
        sprite_sheet10 = SpriteSheet("spriteWalkR1.png")
        image = sprite_sheet10.get_image(34, 19, 32, 73)
        self.walking_frames_r.append(image)

在另一个文件中,我们尝试调用这些精灵:

class Level_02(Level):

    def __init__(self, player):
         Level.__init__(self, player2)

你知道吗

class Level_03(Level):

    def __init__(self, player):
        Level.__init__(self, player1)

代码不起作用。我们如何得到一个不同的图像显示的球员精灵取决于它的水平?你知道吗

编辑:更多代码(__init__Level类的方法)

def __init__(self, player):

    self.platform_list = pygame.sprite.Group()
    self.enemy_list = pygame.sprite.Group()
    self.player = player

Tags: imageselfgetframespnginitdef级别