pilas.interfaz.base_interfaz

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