def setup_player_animations(self):
        # Get player sprite sheet
        player_sheet = resourceLoader.get_image("characters\\stormTrooper.png")

        # Idle right
        idle_r = Animation()
        idle_r.frames.append(player_sheet[0])
        idle_r.speed = 0

        # Idle left
        idle_l = Animation()
        idle_l.frames.append(player_sheet[9])
        idle_l.speed = 0

        # Walk right
        walk_r = Animation()
        walk_r.frames = player_sheet[1:5]
        walk_r.speed = 0.15

        # Walk left
        walk_l = Animation()
        walk_l.frames = player_sheet[5:9]
        walk_l.speed = 0.15

        # Add animations
        self.add_animation("idle_r", idle_r)
        self.add_animation("idle_l", idle_l)
        self.add_animation("walk_r", walk_r)
        self.add_animation("walk_l", walk_l)
Beispiel #2
0
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 referenceAnimation(self, coordinates, tilelen):
     anim = Animation("NoResource", coordinates[2],
                     coordinates[3], coordinates[0],
                     coordinates[1], tilelen)
     self.animations.append(anim)
     newNode = Element("animation", attrib = {"name" : "",
                                              "path" : str(anim.path),
                                              "texturex" : str(anim.texturex),
                                              "texturey" : str(anim.texturey),
                                              "texturew" : str(anim.texturew),
                                              "textureh" : str(anim.textureh),
                                              "tilelen" : str(tilelen)})
     self.xmlNode.append(newNode)
     anim.xmlNode = newNode
     return anim
    def loadSprites(self, node):
        for elem in node.findall("sprite"):
            sprite = Sprite(elem.attrib["path"], elem.attrib["texturex"],
                            elem.attrib["texturey"], elem.attrib["texturew"],
                            elem.attrib["textureh"])
            self.sprites.append(sprite)
            sprite.xmlNode = elem
            self.emit("sprite-added", sprite)

        for elem in node.findall("animation"):
            anim = Animation(elem.attrib["path"], elem.attrib["texturex"],
                             elem.attrib["texturey"], elem.attrib["texturew"],
                             elem.attrib["textureh"], elem.attrib["tilelen"])
            self.animations.append(anim)
            anim.xmlNode = elem
            self.emit("sprite-added", anim)
Beispiel #5
0
    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