我们正试图在包含多个级别的pygame中制作游戏。对于特定级别,我们希望显示不同的精灵/图像(例如,级别1 - >女孩角色,级别2 - >船型图像,级别3 - >女孩角色。)
我们在名为player.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)
代码不起作用。我们如何为播放器精灵显示不同的图像,具体取决于它所处的级别?
编辑:更多代码(Level类的__init__
方法)
def __init__(self, player):
self.platform_list = pygame.sprite.Group()
self.enemy_list = pygame.sprite.Group()
self.player = player
答案 0 :(得分:0)
player1
和 player2
是初始化player
对象属性的方法。您需要调用这些方法:
class Level_02(Level):
def __init__(self, player):
player.player2()
Level.__init__(self, player)
class Level_03(Level):
def __init__(self, player):
player.player1()
Level.__init__(self, player)