pilas.actores.animado

Package pilas :: Package actores :: Module animado |
[hide private]
[frames] | no frames]

# Source Code for Module pilas.actores.animado

     1  # -*- encoding: utf-8 -*-
     2  # Pilas engine - A video game framework.
     3  #
     4  # Copyright 2010 - Hugo Ruscitti
     5  # License: LGPLv3 (see http://www.gnu.org/licenses/lgpl.html)
     6  #
     7  # Website - http://www.pilas-engine.com.ar
     8
     9  import pilas
    10  from pilas.actores import Actor
    11  import copy
    12
    13 -class Animado(Actor):
    14      """Representa un actor que tiene asociada una grilla con cuadros de animacion.
    15
    16      Una de las variantes que introduce este actor es el
    17      método 'definir_cuadro', que facilita la animación de personajes.
    18
    19      Por ejemplo, si tenemos una grilla con un pingüino, podríamos
    20      mostrarlo usando este código:
    21
    22          >>> grilla = pilas.imagenes.cargar_grilla("pingu.png", 10)
    23          >>> actor = Animado(grilla)
    24          >>> actor.definir_cuadro(2)
    25          >>> actor.definir_cuadro(5)
    26
    27
    28      .. image:: images/actores/pingu.png
    29      """
    30
    31 -    def __init__(self, grilla, x=0, y=0):
    32          """ Constructor del Actor.
    33
    34          :param grilla: Grilla de imagenes obtenida mediante pilas.imagenes.cargar_grilla()
    35          :type grilla: `Grilla`
    36          :param x: Posición horizontal del Actor.
    37          :type x: int
    38          :param y: Posición vertical del Actor.
    39          :type y: int
    40          """
    41          Actor.__init__(self, x=x, y=y)
    42          self.imagen = copy.copy(grilla)
    43          self.definir_cuadro(0)
    44
    45 -    def definir_cuadro(self, indice):
    46          """ Permite cambiar el cuadro de animación a mostrar
    47
    48          :param indice: Número del frame de la grilla que se quiere monstrar.
    49          :type indice: int
    50          """
    51          self.imagen.definir_cuadro(indice)
    52          # FIX: Esta sentencia es muy ambigua, porque no todos actores se deben centrar en ese punto.
    53          self.centro = ('centro', 'centro')
    54