pilas.actores.opcion

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

# Source Code for Module pilas.actores.opcion

     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 Texto
    11
    12 -class Opcion(Texto):
    13      """Un item discreto, dispara una funcion al seleccionares.
    14      """
    15
    16 -    def __init__(self, texto, x=0, y=0, funcion_a_invocar=None, argumentos=None, fuente=None):
    17          """Inicializa el actor.
    18
    19          :param texto: Etiqueta a mostrar
    20          :param x: Posicion en el eje x
    21          :param y: Posicion en el eje y
    22          :param funcion_a_invocar: Manejador, se dispara al seleccionar la opcion
    23          :param argumentos: Argumentos posicionales para :funcion_a_invocar:
    24          :param fuente: Tipografía a utilizar.
    25          """
    26          Texto.__init__(self, texto, x=x, y=y, fuente=fuente)
    27          self.magnitud = 20
    28          self.funcion_a_invocar = funcion_a_invocar
    29          self.argumentos = argumentos
    30          self.color = pilas.colores.gris
    31          self.z = -300
    32          self.centro = ("centro", "centro")
    33
    34 -    def resaltar(self, estado=True):
    35          """Pinta la opcion actual de un color mas claro.
    36
    37          :param estado: True o False indicando si se tiene que resaltar o deseleccionar la opción.
    38          """
    39          if estado:
    40              self.color = pilas.colores.blanco
    41          else:
    42              self.color = pilas.colores.gris
    43
    44 -    def seleccionar(self):
    45          """Invoca a la funcion que tiene asociada para ejecutar."""
    46
    47          if self.funcion_a_invocar:
    48              self.funcion_a_invocar(*self.argumentos)
    49          else:
    50              print "Cuidado, la opcion", self, "no tiene funcion asociada."
    51