Ejemplo n.º 1
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:
                if event.key == pygame.K_ESCAPE:
                    self.limpiar_grupos()
                    self.parent.changeState(pantalla2.estado(self.parent))  
            
            if pygame.sprite.spritecollideany(self.raton, self.grupo_palabras):
                sprite = pygame.sprite.spritecollide(self.raton, self.grupo_palabras, False)
                if pygame.mouse.get_pressed() == (True, False, False):
                    if sprite[0].definible == True:
                        self.abc.indexar(sprite[0].palabra)
                        self.grupo_palabras.update(1)
                        sprite[0].selec = True
                        sprite[0].destacar()
                        self.grupo_palabras.empty()
                        self.grupo_banner.remove(self.caja_concepto)
                        self.grupo_palabras.add(self.abc.img_palabras, self.indices(sprite[0].palabra))
                    if sprite[0].definicion == True:
                        self.grupo_palabras.update(2)
                        sprite[0].selec = True
                        sprite[0].negrita()
                        self.grupo_banner.add(self.caja_concepto)
                        self.grupo_palabras.remove(self.concepto.img_palabras)
                        self.grupo_palabras.add(self.mostrar_concepto(sprite[0].codigo))
                        self.caja_concepto.ajustar_alto(self.concepto.ancho_final)
                    
            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 == "home":
                        self.limpiar_grupos()
                        self.parent.changeState(pantalla2.estado(self.parent))
                    elif sprite[0].id == "volver":
                        self.limpiar_grupos()
                        self.parent.popState()
        self.minimag(events)
Ejemplo n.º 2
0
 def manejador_preguntas(self, tecla):
     """
     Determina que instrucción leerá el sintetizador de pantalla mientras el usuario configura esta pantalla. 
     """
     if self.opcion == 1:
         if tecla == 1:
             self.spserver.stopserver()
             self.grupo_botones.remove(self.lector, self.oflector_si, self.guardar)
             self.grupo_botones.add(self.lector_si, self.oflector, self.vbaja_sel, self.vmedia, self.vrapida, self.guardar)
             self.grupo_palabras.add(self.acc3_5.img_palabras, self.acc3_6.img_palabras)                       
             self.parent.config.activar_lector = True
             self.spserver.processtext(self.pregunta2, True)
             self.opcion += 1
             
         elif tecla == 2:
             self.opcion = 3
             self.grupo_botones.remove(self.lector_si, self.oflector, self.vbaja, self.vbaja_sel, self.vmedia, self.vmedia_sel, self.vrapida, self.vrapida_sel, self.guardar)
             self.grupo_palabras.remove(self.acc3_5.img_palabras, self.acc3_6.img_palabras)
             self.grupo_botones.add(self.lector, self.oflector_si, self.guardar)
             self.parent.config.activar_lector = False
             self.spserver.processtext(u"Has configurado el lector de pantalla exitosamente, presiona enter para continuar. ", True)
             
     elif self.opcion == 2:
         if tecla == 1:
             self.grupo_botones.remove(self.vbaja, self.vmedia_sel, self.vrapida, self.vrapida_sel, self.guardar)
             self.grupo_botones.add(self.vbaja_sel, self.vmedia, self.vrapida, self.guardar)
             self.parent.config.synvel = "baja"
             
         elif tecla == 2:
             self.grupo_botones.remove(self.vbaja, self.vbaja_sel, self.vmedia, self.vrapida, self.vrapida_sel, self.guardar)
             self.grupo_botones.add(self.vbaja, self.vmedia_sel, self.vrapida, self.guardar)
             self.parent.config.synvel = "media"
                             
         elif tecla == 3:
             self.grupo_botones.remove(self.vbaja, self.vbaja_sel, self.vmedia, self.vmedia_sel, self.vrapida, self.guardar)
             self.grupo_botones.add(self.vbaja, self.vmedia, self.vrapida_sel, self.guardar)
             self.parent.config.synvel = "rapida"
         self.opcion += 1
         self.spserver.processtext(u"Has configurado el lector de pantalla exitosamente, presiona enter para continuar.", True)
             
     elif self.opcion == 3:
         if tecla ==4:
             self.parent.config.cache = True
             if self.parent.config.t_fuente != self.parent.config.preferencias["t_fuente"]:
                 self.parent.config.texto_cambio = True
             self.parent.config.guardar_preferencias()
             self.spserver.actualizar_servidor()
             self.limpiar_grupos()
             if self.parent.primera_vez:
                 self.parent.changeState(pantalla2.estado(self.parent))
             else:
                 if self.previa:
                     self.parent.VOLVER_PANTALLA_PREVIA = True
                 self.parent.popState()
Ejemplo n.º 3
0
    def handleEvents(self, events):
        """
        Evalúa los eventos que se generan en esta pantalla.        

        @param events: Lista de los eventos.
        @type events: list
        """
        self.teclasPulsadas = pygame.key.get_pressed()
        for event in events:    
            if event.type == pygame.QUIT:
                self.parent.quit()
                
            if event.type == pygame.KEYDOWN:
                self.chequeo_botones(self.grupo_botones)
                self.numero_elementos = len(self.lista_botones)
                
                if event.key == pygame.K_RIGHT:
                    if self.elemento_actual < self.numero_elementos:
                        self.elemento_actual += 1
                        if self.elemento_actual >= self.numero_elementos:
                            self.elemento_actual = self.numero_elementos - 1
                        self.x = self.lista_botones[self.elemento_actual]
                        self.spserver.processtext(self.x.tt, True)
                        self.definir_rect(self.x.rect)  
                        self.deteccion_movimiento = True  
                    
                elif event.key == pygame.K_LEFT:
                    if self.elemento_actual > 0:
                        self.elemento_actual -= 1
                        if self.elemento_actual <=0:
                            self.elemento_actual = 0
                        self.x = self.lista_botones[self.elemento_actual]
                        self.spserver.processtext(self.x.tt, True)
                        self.definir_rect(self.x.rect)
                        self.deteccion_movimiento = True
                    
                elif self.deteccion_movimiento:   
                    if event.key == pygame.K_RETURN:
                        self.elemento_actual = -1
                        if self.x.tipo_objeto == "boton":
                            if self.x.id == "sordo":
                                self.limpiar_grupos()
                                self.parent.pushState(menuauditivo.estado(self.parent, self.previa)) 
                           
                            elif self.x.id == "config-vis":  
                                self.limpiar_grupos()
                                self.parent.pushState(menuvisual.estado(self.parent, self.previa))                                
                                
                            elif self.x.id == "inicio":
                                self.limpiar_grupos()
                                self.parent.changeState(pantalla2.estado(self.parent))  
                                
                            elif self.x.id == "puerta":
                                self.limpiar_grupos()
                                self.parent.popState()
                                
            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:
                    self.spserver.stopserver()
                    if sprite[0].id == "inicio":
                        self.limpiar_grupos()
                        self.parent.changeState(pantalla2.estado(self.parent))
                    
                    elif sprite[0].id == "puerta":
                        self.limpiar_grupos()
                        self.parent.popState()
                        
                    elif sprite[0].id == "sordo":
                        self.limpiar_grupos()
                        self.parent.pushState(menuauditivo.estado(self.parent, self.previa))
                        
                    elif sprite[0].id == "config-vis":
                        self.limpiar_grupos()
                        self.parent.pushState(menuvisual.estado(self.parent, self.previa))
        self.minimag(events)
Ejemplo n.º 4
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 :
                if event.key == pygame.K_ESCAPE:
                    self.limpiar_grupos()
                    self.parent.config.consultar()
                    if self.previa:
                        self.parent.VOLVER_PANTALLA_PREVIA = True
                    self.parent.popState()  
                elif event.key == 49:            
                    self.manejador_preguntas(1)
                elif event.key == 50:
                    self.manejador_preguntas(2)
                elif event.key == 51:
                    self.manejador_preguntas(3)                    
                elif event.key == pygame.K_RETURN:
                    self.manejador_preguntas(4)
            
            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 == "puerta":
                        self.limpiar_grupos()
                        self.parent.config.consultar()
                        self.parent.popState()
                                     
                    elif sprite[0].id == "18":
                        self.grupo_botones.remove(self.tam18, self.tam20_sel, self.tam22_sel)
                        self.grupo_botones.add(self.tam18_sel, self.tam20, self.tam22, self.guardar)
                        self.parent.config.t_fuente = 18
                                
                    elif sprite[0].id == "20":
                        self.grupo_botones.remove(self.tam18_sel, self.tam20, self.tam22_sel)
                        self.grupo_botones.add(self.tam18, self.tam20_sel, self.tam22, self.guardar)
                        self.parent.config.t_fuente = 20
                            
                    elif sprite[0].id == "22":    
                        self.grupo_botones.remove(self.tam18_sel, self.tam20_sel, self.tam22)
                        self.grupo_botones.add(self.tam18, self.tam20, self.tam22_sel, self.guardar)
                        self.parent.config.t_fuente = 22
                                           
                    elif sprite[0].id == "onmag":
                        self.grupo_botones.remove(self.onmag, self.offmag_si)
                        self.grupo_botones.add(self.onmag_si, self.offmag, self.guardar)
                        self.popup_mag.agregar_grupo()
                        self.parent.config.magnificador = True
                        
                    elif sprite[0].id == "offmag":
                        self.grupo_botones.remove(self.onmag_si, self.offmag)
                        self.grupo_botones.add(self.onmag, self.offmag_si, self.guardar)
                        self.popup_mag.eliminar_grupo()
                        self.parent.config.magnificador = False
                        
                    elif sprite[0].id == "oflector":
                        self.grupo_botones.remove(self.lector_si, self.oflector, self.vbaja, self.vbaja_sel, self.vmedia, self.vmedia_sel, self.vrapida, self.vrapida_sel, self.guardar)
                        self.grupo_palabras.remove(self.acc3_5.img_palabras, self.acc3_6.img_palabras)
                        if self.parent.config.synvel != self.parent.config.preferencias["synvel"]:
                            self.parent.config.synvel = self.parent.config.preferencias["synvel"]
                        self.grupo_botones.add(self.lector, self.oflector_si, self.guardar)
                        self.parent.config.activar_lector = False
                        
                    elif sprite[0].id == "lector":
                        self.grupo_botones.remove(self.lector, self.oflector_si, self.guardar)
                        if self.parent.config.synvel == "baja":
                            self.grupo_botones.add(self.lector_si, self.oflector, self.vbaja_sel, self.vmedia, self.vrapida, self.guardar)
                        elif self.parent.config.synvel == "media":
                            self.grupo_botones.add(self.lector_si, self.oflector, self.vbaja, self.vmedia_sel, self.vrapida, self.guardar)
                        elif self.parent.config.synvel == "rapida":
                            self.grupo_botones.add(self.lector_si, self.oflector, self.vbaja, self.vmedia, self.vrapida_sel, self.guardar)
                        self.grupo_palabras.add(self.acc3_5.img_palabras, self.acc3_6.img_palabras)                       
                        self.parent.config.activar_lector = True
                        
                    elif sprite[0].id == "vbaja":
                        self.grupo_botones.remove(self.vbaja, self.vmedia_sel, self.vrapida, self.vrapida_sel, self.guardar)
                        self.grupo_botones.add(self.vbaja_sel, self.vmedia, self.vrapida, self.guardar)
                        self.parent.config.synvel = "baja"
                            
                    elif sprite[0].id == "vmedia":
                        self.grupo_botones.remove(self.vbaja, self.vbaja_sel, self.vmedia, self.vrapida, self.vrapida_sel, self.guardar)
                        self.grupo_botones.add(self.vbaja, self.vmedia_sel, self.vrapida, self.guardar)
                        self.parent.config.synvel = "media"
                             
                    elif sprite[0].id == "vrapida":
                        self.grupo_botones.remove(self.vbaja, self.vbaja_sel, self.vmedia, self.vmedia_sel, self.vrapida, self.guardar)
                        self.grupo_botones.add(self.vbaja, self.vmedia, self.vrapida_sel, self.guardar)
                        self.parent.config.synvel = "rapida"
                                                                           
                    elif sprite[0].id == "guardar":
                        self.spserver.stopserver()
                        self.parent.config.cache = True
                        if self.parent.config.t_fuente != self.parent.config.preferencias["t_fuente"]:
                            self.parent.config.texto_cambio = True
                        self.parent.config.guardar_preferencias()
                        self.spserver.actualizar_servidor()
                        self.limpiar_grupos()
                        if self.parent.primera_vez:
                            self.parent.changeState(pantalla2.estado(self.parent))
                        else:
                            if self.previa:
                                self.parent.VOLVER_PANTALLA_PREVIA = True
                            self.parent.popState()
Ejemplo n.º 5
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()
                            
                elif self.deteccion_movimiento:
                    if event.key == pygame.K_RETURN:
                        if self.x.tipo_objeto == "boton":
                            if self.x.id == "sig":
                                self.repeticion = True            
                                if self.anim_actual <= 13: 
                                    self.anim_actual += 1
                                    self.reproducir_animacion(self.anim_actual)
                                self.deteccion_movimiento = False
                                 
                            elif self.x.id == "volver":  
                                self.anim_actual -= 1
                                self.reproducir_animacion(self.anim_actual)
                                self.deteccion_movimiento = False
                                 
                            elif self.x.id == "config":
                                self.limpiar_grupos()
                                self.parent.pushState(menucfg.estado(self.parent, self.previa))
                                self.deteccion_movimiento = False
                                
                            elif self.x.id == "home":
                                self.limpiar_grupos()
                                self.parent.changeState(pantalla2.estado(self.parent)) 
                                self.deteccion_movimiento = False
 
                        elif self.x.tipo_objeto == "palabra":
                            self.spserver.processtext(cp[self.x.codigo], 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 pygame.mouse.get_pressed() == (True, False, False):
                    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:
                    self.spserver.stopserver()
                    if sprite[0].id == "home":
                        #self.spserver.stopserver()
                        self.limpiar_grupos()
                        self.parent.changeState(pantalla2.estado(self.parent))
                        
                    elif sprite[0].id == "config":
                        self.limpiar_grupos()
                        self.parent.pushState(menucfg.estado(self.parent, self.previa))
                      
                    elif sprite[0].id == "sig": 
                        if self.anim_actual <= 13: 
                            self.anim_actual += 1
                            self.reproducir_animacion(self.anim_actual)
                    elif sprite[0].id == "volver":                                                 
                        self.anim_actual -= 1
                        self.reproducir_animacion(self.anim_actual)    
        self.minimag(events)                  
Ejemplo n.º 6
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 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 == "velocidad":
                        (x,_) = pygame.mouse.get_pos()
                        (posx,_,ancho,_) = self.velocidad.rect
                        (_,_, radio,_) = self.hoja.rect
                        if x > posx + (radio/2) and x < posx + ancho - radio/2:
                            factor = ((x - posx) / float(ancho - radio))
                            factor_anim = (posx + ancho - x)/8
                            ux = x - radio/2
                            self.hoja.mover(ux)
                            if factor_anim < 2:
                                factor_anim = 2
                            if factor > 1:
                                factor = 1
                            self.color_mujer.cambiar_vel(int(factor_anim))
                            self.color_hombre.cambiar_vel(int(factor_anim))
                            self.parent.config.vel_anim = factor_anim
                            self.parent.config.velocidad = factor
                            self.parent.config.ubx = ux
                            
                    elif sprite[0].id == "puerta":
                        self.limpiar_grupos()
                        self.parent.config.consultar()
                        self.parent.popState()
                            
                    elif sprite[0].id == "si":
                        self.grupo_botones.remove(self.check_no, self.si, self.guardar)
                        self.grupo_palabras.remove(self.acc2_7.img_palabras)
                        self.grupo_botones.add(self.boton_nino, self.boton_nina, self.check_si, self.no)
                        self.grupo_palabras.add(self.acc2_3.img_palabras, self.acc2_4.img_palabras)
                        self.parent.config.disc_audi = True
                                
                    elif sprite[0].id == "no":
                        self.grupo_anim.empty()
                        self.grupo_botones.remove(self.velocidad, self.hoja, self.check_si, self.no, self.boton_nino, self.boton_nina, \
                        self.boton_nina_sel, self.boton_nino_sel, self.camisas_hombre, self.camisas_mujer)
                        self.grupo_botones.add(self.check_no, self.si, self.guardar)
                        self.grupo_palabras.add(self.acc2_7.img_palabras)
                        self.grupo_palabras.remove(self.acc2_3.img_palabras, self.acc2_4.img_palabras,
                        self.acc2_5f.img_palabras, self.acc2_6f.img_palabras, self.acc2_5m.img_palabras, self.acc2_6m.img_palabras)
                        self.parent.config.disc_audi = False
                                
                    elif sprite[0].id == "nino":
                        self.grupo_anim.empty()
                        self.grupo_palabras.remove(self.acc2_5f.img_palabras, self.acc2_5f.img_palabras,
                                                               self.acc2_6f.img_palabras, self.acc2_5f.img_palabras)
                        self.grupo_anim.add(self.color_hombre)
                        self.color_hombre.detener()
                        self.grupo_palabras.add(self.acc2_5m.img_palabras, self.acc2_7.img_palabras)
                        self.grupo_palabras.remove(self.acc2_6m.img_palabras)
                        self.grupo_botones.remove(self.velocidad, self.hoja, self.camisas_mujer, self.boton_nino, self.boton_nina_sel)
                        self.grupo_botones.add(self.boton_nino_sel, self.boton_nina, self.guardar, self.camisas_hombre)
                        self.parent.config.genero = "Hombre"
                                                                                               
                    elif sprite[0].id == "nina":
                        self.grupo_anim.empty()
                        self.grupo_palabras.remove(self.acc2_5m.img_palabras, self.acc2_5m.img_palabras,
                                                               self.acc2_6m.img_palabras, self.acc2_5m.img_palabras)
                        self.grupo_anim.add(self.color_mujer)
                        self.color_mujer.detener()
                        self.grupo_palabras.add(self.acc2_5f.img_palabras, self.acc2_7.img_palabras)
                        self.grupo_palabras.remove(self.acc2_6m.img_palabras)
                        self.grupo_botones.remove(self.velocidad, self.hoja, self.camisas_hombre, self.boton_nina, self.boton_nino_sel)
                        self.grupo_botones.add(self.boton_nina_sel, self.boton_nino, self.guardar, self.camisas_mujer)
                        self.parent.config.genero = "Mujer"
                            
                    elif sprite[0].id == "amarillo":
                        self.grupo_anim.empty()
                        self.grupo_botones.add(self.velocidad, self.hoja)
                        self.grupo_palabras.remove(self.acc2_6f.img_palabras, self.acc2_6m.img_palabras)
                        if self.parent.config.genero == "Mujer":
                            self.grupo_palabras.add(self.acc2_6f.img_palabras)
                            self.grupo_anim.add(self.color_mujer)
                            self.color_mujer.cambiar_rect(0)
                            self.parent.config.color = self.color_mujer.fila_pos
                            self.color_mujer.continuar()
                        else:
                            self.grupo_palabras.add(self.acc2_6m.img_palabras)
                            self.grupo_anim.add(self.color_hombre)
                            self.color_hombre.cambiar_rect(0)
                            self.parent.config.color = self.color_hombre.fila_pos
                            self.color_hombre.continuar()
                                
                    elif sprite[0].id == "rojo":
                        self.grupo_anim.empty()
                        self.grupo_palabras.remove(self.acc2_6f.img_palabras)
                        self.grupo_botones.add(self.velocidad, self.hoja)
                        self.grupo_anim.add(self.color_hombre)
                        self.grupo_palabras.add(self.acc2_6m.img_palabras)
                        self.color_hombre.cambiar_rect(1)
                        self.parent.config.color = self.color_hombre.fila_pos
                        self.color_hombre.continuar()
                                
                    elif sprite[0].id == "rosado":
                        self.grupo_anim.empty()
                        self.grupo_palabras.remove(self.acc2_6m.img_palabras)
                        self.grupo_botones.add(self.velocidad, self.hoja)
                        self.grupo_anim.add(self.color_mujer)
                        self.grupo_palabras.add(self.acc2_6f.img_palabras)
                        self.color_mujer.cambiar_rect(1)
                        self.parent.config.color = self.color_mujer.fila_pos
                        self.color_mujer.continuar()
                                
                    elif sprite[0].id == "v-hombre":
                        self.grupo_anim.empty()
                        self.grupo_palabras.remove(self.acc2_6f.img_palabras)
                        self.grupo_botones.add(self.velocidad, self.hoja)
                        self.grupo_anim.add(self.color_hombre)
                        self.grupo_palabras.add(self.acc2_6m.img_palabras)
                        self.color_hombre.cambiar_rect(2)
                        self.parent.config.color = self.color_hombre.fila_pos
                        self.color_hombre.continuar()
                                
                    elif sprite[0].id == "v-mujer":
                        self.grupo_anim.empty()
                        self.grupo_palabras.remove(self.acc2_6f.img_palabras)
                        self.grupo_botones.add(self.velocidad, self.hoja)
                        self.grupo_anim.add(self.color_mujer)
                        self.grupo_palabras.add(self.acc2_6f.img_palabras)
                        self.color_mujer.cambiar_rect(2)
                        self.parent.config.color = self.color_mujer.fila_pos
                        self.color_mujer.continuar()
                                                                       
                    elif sprite[0].id == "guardar":
                        if self.parent.config.velocidad == 0.5 and self.parent.config.vel_anim ==  4:
                            self.parent.config.ubx = self.hoja.x
                        self.parent.config.cache = True
                        if self.parent.config.t_fuente != self.parent.config.preferencias["t_fuente"]:
                            self.parent.config.texto_cambio = True
                        self.parent.config.guardar_preferencias()
                        self.limpiar_grupos()
                        if self.parent.primera_vez:
                            self.parent.changeState(pantalla2.estado(self.parent))
                        else:
                            if self.previa:
                                self.parent.VOLVER_PANTALLA_PREVIA = True
                            self.parent.popState()
        self.minimag(events)
Ejemplo n.º 7
0
    def handleEvents(self, eventos):         
        """
        Evalúa los eventos que se generan en esta pantalla.        
        @param eventos: Lista de los eventos.
        @type eventos: list
        """
        teclasPulsadas = pygame.key.get_pressed()
        for event in eventos:
            if (event.type == pygame.QUIT):
                self.parent.quit()                

            if not self.popupbien.activo and not self.popupnobien.activo and not self.popupvacio.activo:
                
                if self.teclado == 0:
                    self.teclado = True
            if self.popupbien.activo:
                self.popupbien.manejador_eventos(event)
                if not self.popupbien.evaluar_click():
                    self.spserver.stopserver()
                    if self.nivel == 1:
                        self.nivel2()
                    elif self.nivel == 2:
                        self.nivel3()
                    elif self.nivel == 3:
                        self.limpiar_grupos()
                        self.parent.pushState(pantalla2.estado(self.parent))                         

            if self.popupnobien.activo:
                self.popupnobien.manejador_eventos(event)               
                if not self.popupnobien.evaluar_click():
                    self.spserver.stopserver()
                    if self.nivel==2:
                        self.spserver.processtext(self.pregunta_lector+u"escribe tu respuesta y utiliza la tecla ENTER para confirmar", self.parent.config.activar_lector)
                    else:
                        self.spserver.processtext(self.pregunta_l+u"escribe tu respuesta y utiliza la tecla ENTER para confirmar", self.parent.config.activar_lector)             

            if self.popupvacio.activo:   
                self.popupvacio.manejador_eventos(event) 
                pygame.event.clear()         
                if not self.popupvacio.evaluar_click():
                    self.spserver.stopserver()   
                    if self.nivel==2:
                        self.spserver.processtext(self.pregunta_lector+u"escribe tu respuesta y utiliza la tecla ENTER para confirmar", self.parent.config.activar_lector)
                    else:
                        self.spserver.processtext(self.pregunta_l+u"escribe tu respuesta y utiliza la tecla ENTER para confirmar", self.parent.config.activar_lector)             


            if teclasPulsadas[pygame.K_ESCAPE]:
                self.limpiar_grupos()
                self.parent.pushState(pantalla2.estado(self.parent)) 

            if self.click(event):

                if not self.popupayuda.activo and not self.popupbien.activo and not self.popupnobien.activo:

                    if not self.popupinstruccion.activo:
                        if self.rectangulo_texto.rect.collidepoint(pygame.mouse.get_pos()):
                            self.teclado = True
                        else:
                            self.teclado= False

                        if self.boton.rect.collidepoint(pygame.mouse.get_pos()):
                            self.evaluador()                                                                        

                    if self.boton_ayuda.rect.collidepoint(pygame.mouse.get_pos()):                
                        self.manejador_popups("instruccion")

                if self.boton_x.rect.collidepoint(pygame.mouse.get_pos()):
                    self.limpiar_grupos()
                    self.parent.pushState(pantalla2.estado(self.parent)) 

            if event.type == pygame.KEYDOWN:  
                if teclasPulsadas[pygame.K_TAB]:
                    if not self.popupinstruccion.activo and not self.popupayuda.activo and not self.popupbien.activo and not self.popupnobien.activo:
                        if self.teclado == 0:
                            self.teclado = True

                            if self.intr_texto.caja_vacia():
                                self.spserver.stopserver()
                                self.spserver.processtext(u"escribe los números que corresponden a la respuesta correcta." , self.parent.config.activar_lector)                                                      
                            else:
                                self.spserver.stopserver()
                                self.spserver.processtext(u"has escrito el número: "+self.intr_texto.palabra_f , self.parent.config.activar_lector)                                       

                if teclasPulsadas[pygame.K_F2]:
                    if not self.popupayuda.activo and not self.popupbien.activo and not self.popupnobien.activo:
                        self.manejador_popups("instruccion")

                if teclasPulsadas [pygame.K_SPACE]:
                    self.spserver.repetir()                    

                if teclasPulsadas[pygame.K_F1]:
                    self.spserver.stopserver()
                    if self.popupayuda.activo:
                        self.popupayuda.eliminar_grupo()
                        if not self.marcador_instruccion:
                            self.spserver.stopserver()
                            self.spserver.processtext(self.pregunta_l +u"escribe tu respuesta y utiliza la tecla ENTER para confirmar", self.parent.config.activar_lector)
                            self.marcador_instruccion = 1
                        if self.popupayuda.activo:
                            self.popupayuda.eliminar_grupo()
                    else:
                        self.spserver.processtext(self.texto, self.parent.config.activar_lector)
                        self.popupayuda.agregar_grupo()

            if self.intr_texto.iniciar(event, self.teclado):
                self.evaluador()
                self.teclado = 0
Ejemplo n.º 8
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_mascaras(self.grupo_mapa)
                self.chequeo_botones(self.grupo_botones)
                self.lista_final = self.lista_palabra + self.lista_mascaras + self.lista_botones
                self.numero_elementos = len(self.lista_final)
                
                if event.key == pygame.K_RIGHT:
                    self.fondo_texto = False
                    self.grupo_palabras.empty()
                    self.deteccion_movimiento = True
                    self.controlador_lector_evento_K_RIGHT()
                    
                elif event.key == pygame.K_LEFT:
                    self.fondo_texto = False
                    self.grupo_palabras.empty()
                    self.controlador_lector_evento_K_LEFT()
                    
                if self.deteccion_movimiento:
                    if event.key == pygame.K_RETURN:
                        if self.x.tipo_objeto == "mapa":
                            self.fondo_texto = True
                            
                            if self.x.id == u"región capital":
                                self.grupo_palabras.empty()
                                self.central.apagar()
                                self.llanos.apagar()
                                self.zulia.apagar()
                                self.ori.apagar()
                                self.occ.apagar()
                                self.andes.apagar()
                                self.llanos.apagar()
                                self.capital.iluminar()
                                self.insu.apagar()
                                self.grupo_palabras.add(self.texto9_2_1.img_palabras, self.texto9_2_2.img_palabras, self.texto9_2_3.img_palabras, self.texto9_2_4.img_palabras)
                                self.spserver.processtext(cont["texto9_2_1l"] +  self.texto9_2_2.texto + self.texto9_2_3.texto + self.texto9_2_4.texto, self.parent.config.activar_lector)  
                                                      
                            elif self.x.id == u"región central":
                                self.grupo_palabras.empty()
                                self.capital.apagar()
                                self.llanos.apagar()
                                self.zulia.apagar()
                                self.ori.apagar()
                                self.occ.apagar()
                                self.andes.apagar()
                                self.llanos.apagar()
                                self.central.iluminar()
                                self.insu.apagar()
                                self.grupo_palabras.add(self.texto9_3_1.img_palabras, self.texto9_3_2.img_palabras, self.texto9_3_3.img_palabras)
                                self.spserver.processtext(cont["texto9_3_1l"] + self.texto9_3_2.texto + self.texto9_3_3.texto, self.parent.config.activar_lector)                           
                                
                            if self.x.id == u"región los llanos":
                                self.grupo_palabras.empty()
                                self.capital.apagar()
                                self.central.apagar()
                                self.ori.apagar()
                                self.zulia.apagar()
                                self.occ.apagar()
                                self.andes.apagar()
                                self.llanos.iluminar()
                                self.insu.apagar()
                                self.grupo_palabras.add(self.texto9_4_1.img_palabras, self.texto9_4_2.img_palabras, self.texto9_4_3.img_palabras)
                                self.spserver.processtext(cont["texto9_4_1l"] +  self.texto9_4_2.texto + self.texto9_4_3.texto, self.parent.config.activar_lector) 
                                
                            if self.x.id == u"región occidental":
                                self.grupo_palabras.empty()
                                self.capital.apagar()
                                self.llanos.apagar()
                                self.central.apagar()
                                self.ori.apagar()
                                self.zulia.apagar()
                                self.andes.apagar()
                                self.occ.iluminar()
                                self.llanos.apagar()
                                self.guayana.apagar()
                                self.insu.apagar()
                                self.grupo_palabras.add(self.texto9_5_1.img_palabras, self.texto9_5_2.img_palabras, self.texto9_5_3.img_palabras)
                                self.spserver.processtext(cont["texto9_5_1l"] + self.texto9_5_2.texto + self.texto9_5_3.texto, self.parent.config.activar_lector)
                                
                            if self.x.id == u"región zuliana":
                                self.grupo_palabras.empty()
                                self.capital.apagar()
                                self.llanos.apagar()
                                self.central.apagar()
                                self.ori.apagar()
                                self.zulia.iluminar()
                                self.occ.apagar()
                                self.andes.apagar()
                                self.llanos.apagar()
                                self.guayana.apagar()
                                self.insu.apagar()
                                self.grupo_palabras.add(self.texto9_6_1.img_palabras, self.texto9_6_2.img_palabras, self.texto9_6_3.img_palabras)
                                self.spserver.processtext(cont["texto9_6_1l"] + self.texto9_6_2.texto + self.texto9_6_3.texto, self.parent.config.activar_lector)
                                
                            if self.x.id == u"región los andes":
                                self.grupo_palabras.empty()
                                self.capital.apagar()
                                self.llanos.apagar()
                                self.central.apagar()
                                self.zulia.apagar()
                                self.ori.apagar()
                                self.occ.apagar()
                                self.andes.iluminar()
                                self.llanos.apagar()
                                self.guayana.apagar()
                                self.insu.apagar()
                                self.grupo_palabras.add(self.texto9_7_1.img_palabras, self.texto9_7_2.img_palabras, self.texto9_7_3.img_palabras)
                                self.spserver.processtext(cont["texto9_7_1l"] + self.texto9_7_2.texto + self.texto9_7_3.texto, self.parent.config.activar_lector)
                                
                            if self.x.id == u"región nor oriental":
                                self.grupo_palabras.empty()
                                self.capital.apagar()
                                self.llanos.apagar()
                                self.central.apagar()
                                self.ori.iluminar()
                                self.zulia.apagar()
                                self.occ.apagar()
                                self.andes.apagar()
                                self.guayana.apagar()
                                self.insu.apagar()
                                self.grupo_palabras.add(self.texto9_8_1.img_palabras, self.texto9_8_2.img_palabras, self.texto9_8_3.img_palabras)
                                self.spserver.processtext(cont["texto9_8_1l"] + self.texto9_8_2.texto + self.texto9_8_3.texto, self.parent.config.activar_lector)
                            
                            if self.x.id == u"región guayana":
                                self.grupo_palabras.empty()
                                self.capital.apagar()
                                self.llanos.apagar()
                                self.central.apagar()
                                self.ori.apagar()
                                self.occ.apagar()
                                self.zulia.apagar()
                                self.andes.apagar()
                                self.llanos.apagar()
                                self.insu.apagar()
                                self.guayana.iluminar()
                                self.grupo_palabras.add(self.texto9_9_1.img_palabras, self.texto9_9_2.img_palabras, self.texto9_9_3.img_palabras)
                                self.spserver.processtext(cont["texto9_9_1l"] + self.texto9_9_2.texto + self.texto9_9_3.texto, self.parent.config.activar_lector)
                                
                                
                            if self.x.id == u"región insular":
                                self.grupo_palabras.empty()
                                self.capital.apagar()
                                self.llanos.apagar()
                                self.central.apagar()
                                self.ori.apagar()
                                self.occ.apagar()
                                self.zulia.apagar()
                                self.andes.apagar()
                                self.llanos.apagar()
                                self.guayana.apagar()
                                self.insu.iluminar()
                                self.grupo_palabras.add(self.texto9_10_1.img_palabras, self.texto9_10_2.img_palabras, self.texto9_10_3.img_palabras, self.texto9_10_4.img_palabras )
                                self.spserver.processtext(cont["texto9_10_1l"] + self.texto9_10_2.texto + self.texto9_10_3.texto + self.texto9_10_4.texto, self.parent.config.activar_lector)
                    
                        elif self.x.tipo_objeto == "boton":
                            if self.x.id == "volver":
                                self.limpiar_grupos()
                                self.parent.animacion = 3         
                                self.parent.changeState(pantalla8.estado(self.parent, 3))   
                                                         
                            elif self.x.id == "config":
                                self.limpiar_grupos()
                                self.parent.pushState(menucfg.estado(self.parent, self.previa))  
                                
                            elif self.x.id == "home":
                                self.limpiar_grupos()
                                self.parent.changeState(pantalla2.estado(self.parent))
                    
            lista = spritecollide_pp(self.mouse, self.grupo_mapa)         
            if not lista == []:
                if event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:
                    self.deteccion_movimiento = False
                    self.fondo_texto = True
                    if lista[0].id == u"región capital":
                        self.central.apagar()
                        self.llanos.apagar()
                        self.ori.apagar()
                        self.occ.apagar()
                        self.zulia.apagar()
                        self.andes.apagar()
                        self.llanos.apagar()
                        self.capital.iluminar()
                        self.insu.apagar()
                        self.grupo_palabras.empty()
                        self.grupo_palabras.add(self.texto9_2_1.img_palabras, self.texto9_2_2.img_palabras, self.texto9_2_3.img_palabras , self.texto9_2_4.img_palabras)
                            
                    if lista[0].id == u"región central":
                        self.capital.apagar()
                        self.llanos.apagar()
                        self.ori.apagar()
                        self.occ.apagar()
                        self.zulia.apagar()
                        self.andes.apagar()
                        self.llanos.apagar()
                        self.central.iluminar()
                        self.insu.apagar()
                        self.grupo_palabras.empty()
                        self.grupo_palabras.add(self.texto9_3_1.img_palabras, self.texto9_3_2.img_palabras, self.texto9_3_3.img_palabras)
                            
                    if lista[0].id == u"región los llanos":
                        self.capital.apagar()
                        self.central.apagar()
                        self.llanos.iluminar()
                        self.zulia.apagar()
                        self.ori.apagar()
                        self.occ.apagar()
                        self.andes.apagar()
                        self.insu.apagar()
                        self.grupo_palabras.empty()
                        self.grupo_palabras.add(self.texto9_4_1.img_palabras, self.texto9_4_2.img_palabras, self.texto9_4_3.img_palabras)
                        
                    if lista[0].id == u"región occidental":
                        self.capital.apagar()
                        self.llanos.apagar()
                        self.ori.apagar()
                        self.central.apagar()
                        self.zulia.apagar()
                        self.occ.iluminar()
                        self.llanos.apagar()
                        self.guayana.apagar()
                        self.andes.apagar()
                        self.insu.apagar()
                        self.grupo_palabras.empty()
                        self.grupo_palabras.add(self.texto9_5_1.img_palabras, self.texto9_5_2.img_palabras, self.texto9_5_3.img_palabras)
                    
                    if lista[0].id == u"región zuliana":
                        self.capital.apagar()
                        self.llanos.apagar()
                        self.central.apagar()
                        self.ori.apagar()
                        self.zulia.iluminar()
                        self.occ.apagar()
                        self.andes.apagar()
                        self.llanos.apagar()
                        self.guayana.apagar()
                        self.insu.apagar()
                        self.grupo_palabras.empty()
                        self.grupo_palabras.add(self.texto9_6_1.img_palabras, self.texto9_6_2.img_palabras, self.texto9_6_3.img_palabras)
                    
                    if lista[0].id == u"región los andes":
                        self.capital.apagar()
                        self.llanos.apagar()
                        self.central.apagar()
                        self.guayana.apagar()
                        self.zulia.apagar()
                        self.ori.apagar()
                        self.occ.apagar()
                        self.andes.iluminar()
                        self.llanos.apagar()
                        self.insu.apagar()
                        self.grupo_palabras.empty()
                        self.grupo_palabras.add(self.texto9_7_1.img_palabras, self.texto9_7_2.img_palabras, self.texto9_7_3.img_palabras)
                        
                    if lista[0].id == u"región nor oriental":
                        self.capital.apagar()
                        self.central.apagar()
                        self.ori.iluminar()
                        self.llanos.apagar()
                        self.guayana.apagar()
                        self.zulia.apagar()
                        self.occ.apagar()
                        self.andes.apagar()
                        self.insu.apagar()
                        self.grupo_palabras.empty()
                        self.grupo_palabras.add(self.texto9_8_1.img_palabras, self.texto9_8_2.img_palabras, self.texto9_8_3.img_palabras)
                        
                    if lista[0].id == u"región guayana":
                        self.capital.apagar()
                        self.llanos.apagar()
                        self.central.apagar()
                        self.ori.apagar()
                        self.zulia.apagar()
                        self.occ.apagar()
                        self.andes.apagar()
                        self.guayana.iluminar()
                        self.insu.apagar()
                        self.grupo_palabras.empty()
                        self.grupo_palabras.add(self.texto9_9_1.img_palabras, self.texto9_9_2.img_palabras, self.texto9_9_3.img_palabras)
                    
                    if lista[0].id == u"región insular":
                        self.capital.apagar()
                        self.llanos.apagar()
                        self.central.apagar()
                        self.ori.apagar()
                        self.zulia.apagar()
                        self.occ.apagar()
                        self.andes.apagar()
                        self.guayana.apagar()
                        self.insu.iluminar()
                        self.grupo_palabras.empty()
                        self.grupo_palabras.add(self.texto9_10_1.img_palabras, self.texto9_10_2.img_palabras, self.texto9_10_3.img_palabras, self.texto9_10_4.img_palabras)
                    
                    
            elif not self.deteccion_movimiento:
                self.fondo_texto = False
                self.capital.apagar()
                self.central.apagar()
                self.guayana.apagar()
                self.andes.apagar()
                self.zulia.apagar()
                self.occ.apagar()
                self.ori.apagar()
                self.llanos.apagar()
                self.grupo_palabras.empty()
                self.grupo_fondotexto.empty()
                
            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 == "volver":
                        self.limpiar_grupos()
                        self.parent.animacion = 3         
                        self.parent.changeState(pantalla8.estado(self.parent, 3))
                    
                    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))
        self.minimag(events)