pilas.actores.texto

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

# Source Code for Module pilas.actores.texto

     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 actor import Actor
    11
    12 -class Texto(Actor):
    13      """Representa un texto en pantalla.
    14
    15      El texto tiene atributos como ``texto``, ``magnitud`` y ``color``, por
    16      ejemplo para crear un mensaje de saludo podríamos escribir:
    17
    18          >>> saludo = pilas.actores.Texto("Hola mundo!")
    19      """
    20
    21 -    def __init__(self, texto="None", x=0, y=0, magnitud=20, vertical=False, fuente=None):
    22          """Inicializa el actor.
    23
    24          :param texto: Texto a mostrar.
    25          :param x: Posición horizontal.
    26          :param y: Posición vertical.
    27          :param magnitud: Tamaño del texto.
    28          :param vertical: Si el texto será vertical u horizontal, como True o False.
    29          :param fuente: Nombre de la fuente a utilizar.
    30          """
    31          imagen = pilas.mundo.motor.obtener_texto(texto, magnitud, vertical, fuente)
    32          self._definir_area_de_texto(texto, magnitud)
    33          Actor.__init__(self, imagen, x=x, y=y)
    34          self.magnitud = magnitud
    35          self.texto = texto
    36          self.color = pilas.colores.blanco
    37          self.centro = ("centro", "centro")
    38          self.fijo = True
    39
    40 -    def obtener_texto(self):
    41          """Retorna el texto definido."""
    42          return self.imagen.texto
    43
    44 -    def definir_texto(self, texto):
    45          """Define el texto a mostrar."""
    46          self.imagen.texto = texto
    47          self._definir_area_de_texto(texto, self.magnitud)
    48
    49      texto = property(obtener_texto, definir_texto, doc="El texto que se tiene que mostrar.")
    50
    51 -    def obtener_magnitud(self):
    52          """Devuelve el tamaño del texto."""
    53          return self.imagen.magnitud
    54
    55 -    def definir_magnitud(self, magnitud):
    56          """Define el tamaño del texto a mostrar."""
    57          self._magnitud = magnitud
    58          self.imagen.magnitud = magnitud
    59
    60      magnitud = property(obtener_magnitud, definir_magnitud, doc="El tamaño del texto.")
    61
    62 -    def obtener_color(self):
    63          """Devuelve el color que tiene asignado el texto."""
    64          return self.imagen.color
    65
    66 -    def definir_color(self, color):
    67          """Define el color del texto."""
    68          self.imagen.color = color
    69
    70      color = property(obtener_color, definir_color, doc="Color del texto.")
    71
    72 -    def _definir_area_de_texto(self, texto, magnitud):
    73          self._ancho, self._alto = pilas.mundo.motor.obtener_area_de_texto(texto, magnitud)
    74