예제 #1
0
    def __init__(self, texto, opciones, funcion_a_invocar, x=0, y=0, dialogo=None):
        self.dialogo = dialogo
        self.opciones = opciones
        self.funcion_a_invocar = funcion_a_invocar
        espacio = "\n" * (len(opciones) + 1)  # representa un espacio en blanco para poner la seleccion
        Globo.__init__(self, texto + espacio, x, y, dialogo=dialogo)

        self.lista_seleccion = pilas.interfaz.ListaSeleccion(opciones, self._cuando_selecciona_opcion, x, y)
        self.lista_seleccion.escala = 0.1
        self.lista_seleccion.escala = [1], 0.2
예제 #2
0
    def colocar_origen_del_globo(self, x, y):
        """Cambia el punto de referencia del globo.

        :param x: Punto de referencia horizontal.
        :param y: Punto de referencia vertical.
        """
        Globo.colocar_origen_del_globo(self, x, y)

        self.lista_seleccion.centro = ("derecha", "abajo")
        self.lista_seleccion.x = x - (self.ancho_globo - self.lista_seleccion.ancho_opciones) + 12
        self.lista_seleccion.y = y + 35
예제 #3
0
    def colocar_origen_del_globo(self, x, y):
        """Cambia el punto de referencia del globo.

        :param x: Punto de referencia horizontal.
        :param y: Punto de referencia vertical.
        """
        Globo.colocar_origen_del_globo(self, x, y)

        self.lista_seleccion.centro = ("derecha", "abajo")
        self.lista_seleccion.x = x - (self.ancho_globo -
                                      self.lista_seleccion.ancho_opciones) + 12
        self.lista_seleccion.y = y + 35
예제 #4
0
    def __init__(self, texto, opciones, funcion_a_invocar, x=0, y=0, dialogo=None):
        self.dialogo = dialogo
        self.opciones = opciones
        self.funcion_a_invocar = funcion_a_invocar

        self.lista_seleccion = pilas.interfaz.ListaSeleccion(opciones, self._cuando_selecciona_opcion, x, y)
        self.lista_seleccion.escala = 0.1
        self.lista_seleccion.escala = [1], 0.2
        self.lista_seleccion.z = 1

        Globo.__init__(self, texto, x, y, dialogo=dialogo, 
                       ancho_globo=self.lista_seleccion.ancho_opciones+24,
                       alto_globo=self.lista_seleccion.alto_opciones + (self.lista_seleccion.separacion_entre_opciones * len(self.opciones) * 2))
        self.z = 2
예제 #5
0
    def __init__(self, texto, opciones, funcion_a_invocar, x=0, y=0, dialogo=None):
        """Constructor del dialogo:

        :param texto: Cadena de texto que se tiene que mostrar.
        :param opciones: Lista de opciones a mostrar.
        :param funcion_a_invocar: Referencia a la función que se tiene que ejecutar cuando responde el usuario.
        :param x: Posición horizontal.
        :param y: Posición vertical.
        :param dialogo: Instancia del manejador de dialogos, para crear mensajes enlazados.
        """
        self.dialogo = dialogo
        self.opciones = opciones
        self.funcion_a_invocar = funcion_a_invocar

        self.lista_seleccion = pilas.interfaz.ListaSeleccion(opciones, self._cuando_selecciona_opcion, x, y)
        self.lista_seleccion.escala = 0.1
        self.lista_seleccion.escala = [1], 0.2
        self.lista_seleccion.z = 1

        Globo.__init__(self, texto, x, y, dialogo=dialogo,
                       ancho_globo=self.lista_seleccion.ancho_opciones+24,
                       alto_globo=self.lista_seleccion.alto_opciones + (self.lista_seleccion.separacion_entre_opciones * len(self.opciones) * 2))
        self.z = 2
예제 #6
0
    def __init__(self,
                 texto,
                 opciones,
                 funcion_a_invocar,
                 x=0,
                 y=0,
                 dialogo=None):
        """Constructor del dialogo:

        :param texto: Cadena de texto que se tiene que mostrar.
        :param opciones: Lista de opciones a mostrar.
        :param funcion_a_invocar: Referencia a la función que se tiene que ejecutar cuando responde el usuario.
        :param x: Posición horizontal.
        :param y: Posición vertical.
        :param dialogo: Instancia del manejador de dialogos, para crear mensajes enlazados.
        """
        self.dialogo = dialogo
        self.opciones = opciones
        self.funcion_a_invocar = funcion_a_invocar

        self.lista_seleccion = pilas.interfaz.ListaSeleccion(
            opciones, self._cuando_selecciona_opcion, x, y)
        self.lista_seleccion.escala = 0.1
        self.lista_seleccion.escala = [1], 0.2
        self.lista_seleccion.z = 1

        Globo.__init__(self,
                       texto,
                       x,
                       y,
                       dialogo=dialogo,
                       ancho_globo=self.lista_seleccion.ancho_opciones + 24,
                       alto_globo=self.lista_seleccion.alto_opciones +
                       (self.lista_seleccion.separacion_entre_opciones *
                        len(self.opciones) * 2))
        self.z = 2
예제 #7
0
 def _cuando_selecciona_opcion(self, opcion):
     self.funcion_a_invocar(opcion)
     Globo.cuando_quieren_avanzar(self)
     self.lista_seleccion.eliminar()
예제 #8
0
 def _cuando_selecciona_opcion(self, opcion):
     self.funcion_a_invocar(opcion)
     Globo.cuando_quieren_avanzar(self)
     self.lista_seleccion.eliminar()
예제 #9
0
 def colocar_origen_del_globo(self, x, y):
     Globo.colocar_origen_del_globo(self, x, y)
     
     self.lista_seleccion.centro = ("derecha", "abajo")
     self.lista_seleccion.x = x - (self.ancho_globo - self.lista_seleccion.ancho_opciones) + 12 
     self.lista_seleccion.y = y + 35