Exemple #1
0
    def reproducir_animacion(self, animacion):
        """
        Gestiona la reproducción de animaciones, imágenes y texto en esta pantalla.
        @param animacion: Indica la animación que debe reproducirse.
        @type animacion: int
        """
        if animacion == 0:
            self.elemento_actual = -1
            self.anim1.continuar()
            self.grupo_fondotexto.add(self.caja_texto)
            self.grupo_palabras.add(self.texto3_2.img_palabras)
            self.txt_actual = self.texto3_2.img_palabras
            self.chequeo_palabra(self.txt_actual)
            
            if self.parent.config.activar_lector:
                if self.entrada_primera_vez:
                    self.spserver.processtext2(cont["texto3_2"], self.parent.config.activar_lector)
                    self.entrada_primera_vez = False
                else:
                    self.spserver.processtext(cont["texto3_2"], self.parent.config.activar_lector)
                self.anim1.continuar()
                self.grupo_fondotexto.add(self.caja_texto)
                self.grupo_palabras.add(self.texto3_2.img_palabras)
                self.txt_actual = self.texto3_2.img_palabras
                self.chequeo_palabra(self.txt_actual)  
                       
        if animacion == 1:
            self.spserver.stopserver()
            self.elemento_actual = -1
            self.ampliar()
            self.limpiar_grupos()
            self.parent.changeState(pantalla4.estado(self.parent))

        self.chequeo_botones(self.grupo_botones)
        self.lista_final = self.lista_botones + self.lista_palabra
        self.lista_final = self.lista_palabra + self.lista_botones 
        self.numero_elementos = len(self.lista_final)            
Exemple #2
0
    def handleEvents(self, events):
        """
        Evalúa los eventos que se generan en esta pantalla.        

        @param events: Lista de los eventos.
        @type events: list
        """
        for event in events:
            if event.type == pygame.QUIT:
                self.parent.quit()
                
            if event.type == pygame.KEYDOWN:
                self.chequeo_botones(self.grupo_botones)
                self.lista_final = self.lista_palabra + self.lista_botones
                self.numero_elementos = len(self.lista_final)   
                
                if event.key == pygame.K_RIGHT:
                    self.deteccion_movimiento = True
                    self.controlador_lector_evento_K_RIGHT()
                elif event.key == pygame.K_LEFT:
                    self.controlador_lector_evento_K_LEFT()
                    self.deteccion_movimiento = True
                
                elif self.deteccion_movimiento:
                    if event.key == pygame.K_RETURN:
                        if self.x.tipo_objeto == "boton":
                            if self.x.id == "config":
                                self.limpiar_grupos()
                                self.parent.pushState(menucfg.estado(self.parent, self.previa)) 
                                 
                            elif self.x.id == "sig":
                                self.ampliar()
                                self.limpiar_grupos()
                                self.parent.changeState(pantalla4.estado(self.parent))                              
                                    
                            elif self.x.id == "home":
                                self.limpiar_grupos()
                                self.parent.changeState(pantalla2.estado(self.parent))
                                                         
                        elif self.x.tipo_objeto == "palabra":
                            self.spserver.processtext(cp[self.x.codigo], self.parent.config.activar_lector)
                        self.deteccion_movimiento = False

                elif event.key == pygame.K_SPACE:
                    self.spserver.processtext(cont["texto3_2"], self.parent.config.activar_lector) 
                    
            if pygame.sprite.spritecollideany(self.raton, self.grupo_palabras):
                sprite = pygame.sprite.spritecollide(self.raton, self.grupo_palabras, False)
                if event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:
                    if sprite[0].tipo_objeto == "palabra":
                        if sprite[0].interpretable == True:
                            self.parent.interpretar(sprite[0].codigo)

            if pygame.sprite.spritecollideany(self.raton, self.grupo_botones):
                sprite = pygame.sprite.spritecollide(self.raton, self.grupo_botones, False)
                if event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:
                    if sprite[0].id == "sig":
                        self.deteccion_movimiento = False
                        if self.anim_actual <= 3:
                            self.anim_actual += 1
                            self.reproducir_animacion(self.anim_actual)
                    
                    elif sprite[0].id == "config":
                        self.limpiar_grupos()
                        self.parent.pushState(menucfg.estado(self.parent, self.previa))   
                    
                    elif sprite[0].id == "home":
                        self.limpiar_grupos()
                        self.parent.changeState(pantalla2.estado(self.parent))
                    elif sprite[0].id == "repe":
                        self.limpiar_grupos()
                        self.resume()
        self.minimag(events)