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