Package pilas :: Package interfaz :: Module base_interfaz
[hide private]
[frames] | no frames]

Source Code for Module pilas.interfaz.base_interfaz

 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  
 
11 -class BaseInterfaz(pilas.actores.Actor):
12 """Representa un actor que actuará como un elemento de interfaz de usuario.""" 13
14 - def __init__(self, imagen="sin_imagen.png",x=0, y=0):
15 """Inicializa al actor. 16 17 :param imagen: Imagen inicial. 18 :param x: Posición horizontal. 19 :param y: Posición vertical. 20 """ 21 pilas.actores.Actor.__init__(self, imagen=imagen, x=x, y=y) 22 23 self.tiene_el_foco = False 24 self.escena.click_de_mouse.conectar(self.cuando_hace_click) 25 26 self._visible = True 27 28 self.activo = True
29
30 - def obtener_foco(self):
31 "Retorna True si el actor tiene foco." 32 self.tiene_el_foco = True
33
34 - def perder_foco(self):
35 "Quita el foco sobre el elemento." 36 self.tiene_el_foco = False
37
38 - def cuando_hace_click(self, evento):
39 """Se encarga de atender el evento click y conseguir foco.""" 40 if self._visible: 41 if self.colisiona_con_un_punto(evento.x, evento.y): 42 self.obtener_foco() 43 else: 44 self.perder_foco()
45
46 - def ocultar(self):
47 """Oculta el elemento de la interfaz.""" 48 self.transparencia = 100 49 self._visible = False 50 self.activo = False
51
52 - def mostrar(self):
53 """Muestra el elemento.""" 54 self._visible = True 55 self.activar()
56
57 - def activar(self):
58 self.activo = True 59 self.transparencia = 0
60
61 - def desactivar(self):
62 self.activo = False 63 self.transparencia = 50
64