pilas.actores.texto_inferior

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

# Source Code for Module pilas.actores.texto_inferior

     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 texto import Texto
    11
    12
    13 -class TextoInferior(Texto):
    14      """Representa un texto al pie de la ventana.
    15
    16      Esta clase se utiliza desde el método "pilas.avisar()".
    17      """
    18      anterior_texto = None
    19
    20 -    def __init__(self, texto="None", x=0, y=0, magnitud=17, autoeliminar=False, retraso=5):
    21          """Inicializa el texto.
    22
    23          :param texto: Texto a mostrar.
    24          :param x: Posición horizontal.
    25          :param y: Posición vertical.
    26          :param magnitud: Tamaño del texto.
    27          :param vertical: Si el texto será vertical u horizontal, como True o False.
    28          """
    29          Texto.__init__(self, texto, x, y, magnitud)
    30          izquierda, derecha, arriba, abajo = pilas.utils.obtener_bordes()
    31
    32          # Se asegura de que solo exista un texto inferior
    33          if TextoInferior.anterior_texto:
    34              TextoInferior.anterior_texto.eliminar()
    35
    36          self.z = -100
    37          TextoInferior.anterior_texto = self
    38          self._crear_sombra()
    39
    40          self.centro = ("centro", "centro")
    41          self.izquierda = izquierda + 10
    42          self.color = pilas.colores.blanco
    43          self.abajo = abajo + 10
    44          self.fijo = True
    45
    46          if autoeliminar:
    47              pilas.escena_actual().tareas.una_vez(retraso, self.eliminar)
    48
    49 -    def _crear_sombra(self):
    50          """Genera una sombra para el texto."""
    51          izquierda, derecha, arriba, abajo = pilas.utils.obtener_bordes()
    52          imagen = pilas.imagenes.cargar_superficie(derecha - izquierda, 40)
    53          imagen.pintar(pilas.colores.negro_transparente)
    54
    55          self.sombra = pilas.actores.Actor(imagen)
    56          self.sombra.z = self.z + 1
    57          self.sombra.fijo = True
    58          self.sombra.abajo = abajo
    59          self.sombra.izquierda = izquierda
    60
    61 -    def eliminar(self):
    62          """Quita el texto de la escena."""
    63          Texto.eliminar(self)
    64          self.sombra.eliminar()
    65