def create_animations(players, tiles, powerups): player_animations = dict() for i, colour in enumerate(["white", "blue", "black", "red"]): player_animations["colour"] = dict() walk = list() walking_delays = [300, 200, 300, 200] for j in range(4): j *= 3 sequence = [(j + 1, i), (j, i), (j + 2, i), (j, i)] animation = Animation(players, sequence, walking_delays) walk.append(animation) punch = list() for j in range(4): j += 19 animation = Animation(players, [(j, i)], 500, False) punch.append(animation) death = Animation(players, [(j, i) for j in range(12, 18)], 2000, False) player_animations[colour]["walk"] = walk player_animations[colour]["punch"] = punch player_animations[colour]["death"] = death return player_animations
def __init__(self, world, pos=(0, 0)): self.body = world.b2world.CreateDynamicBody( position=pos, allowSleep=False ) self.body.CreatePolygonFixture( box=(0.8, 1.6), density=1, friction=0.0, ) self.body.linearDamping = 0.0 self.body.angularDamping = 0.0 self.sensor = self.body.CreatePolygonFixture( box=(0.6, 0.2, (0, -1.6), 0), density=1, friction=0.0, isSensor = True ) self.stand_sprite = Sprite("data/art/stand.png") self.jump_sprite = Sprite("data/art/jump.png") self.fall_sprite = Sprite("data/art/fall.png") walksprite0 = self.stand_sprite walksprite1 = Sprite("data/art/walk1.png") walksprite2 = Sprite("data/art/walk2.png") self.walk_sprite = Animation(( walksprite0, walksprite1, walksprite1, walksprite0, walksprite2, walksprite2 )) self.sprite = self.stand_sprite