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.limpiar_grupos() self.parent.animacion = 10 self.parent.changeState(pantalla5.estado(self.parent, 9)) elif animacion== 1: self.elemento_actual = -1 self.grupo_anim.remove(self.anim6_3) if self.parent.config.activar_lector: if self.entrada_primera_vez: self.spserver.processtext2(cont["texto6_2"], self.parent.config.activar_lector) self.entrada_primera_vez = False else: self.spserver.processtext(cont["texto6_2"], self.parent.config.activar_lector) self.grupo_anim.add(self.anim6_2) self.grupo_fondotexto.add(self.caja_texto) self.grupo_palabras.add(self.texto6_2.img_palabras) self.txt_actual = self.texto6_2.img_palabras self.chequeo_palabra(self.txt_actual) self.anim6.continuar() elif animacion == 2: self.entrada_primera_vez=False self.elemento_actual = -1 self.lista_palabra = [] self.grupo_anim.add(self.anim6) self.grupo_palabras.empty() self.grupo_fondotexto.empty() self.grupo_anim.add(self.anim6_3) self.anim6.detener() self.spserver.processtext(cont["anim6_1"], self.parent.config.activar_lector) elif animacion == 3: self.elemento_actual = -1 self.grupo_palabras.empty() self.grupo_anim.remove(self.anim6_3) self.grupo_fondotexto.add(self.caja_texto) self.grupo_palabras.add(self.texto6_3.img_palabras) self.txt_actual = self.texto6_3.img_palabras self.chequeo_palabra(self.txt_actual) self.spserver.processtext(cont["texto6_3"], self.parent.config.activar_lector) self.anim6.continuar() elif animacion == 4: self.elemento_actual = -1 self.grupo_anim.remove(self.anim6_4) self.grupo_palabras.empty() self.grupo_anim.remove(self.anim6_3) self.grupo_fondotexto.add(self.caja_texto) self.grupo_palabras.add(self.texto6_4.img_palabras) self.txt_actual = self.texto6_4.img_palabras self.chequeo_palabra(self.txt_actual) self.spserver.processtext(cont["texto6_4"], self.parent.config.activar_lector) self.anim6.continuar() elif animacion == 5: self.elemento_actual = -1 self.lista_palabra = [] self.grupo_palabras.empty() self.grupo_fondotexto.empty() self.anim6_4.update() self.anim6_4.stop = False self.grupo_anim.add(self.anim6_4) self.anim6.detener() self.spserver.processtext(cont["anim6_2"], self.parent.config.activar_lector) elif animacion == 6: self.elemento_actual = -1 self.grupo_anim.remove(self.anim6_4) self.grupo_palabras.remove(self.texto7_3.img_palabras) self.grupo_fondotexto.add(self.caja_texto) self.grupo_palabras.add(self.texto7_2.img_palabras) self.txt_actual = self.texto7_2.img_palabras self.chequeo_palabra(self.txt_actual) self.spserver.processtext(cont["texto7_2"], self.parent.config.activar_lector) self.anim6.continuar() elif animacion == 7: self.elemento_actual = -1 self.grupo_palabras.empty() self.grupo_fondotexto.add(self.caja_texto) self.grupo_palabras.add(self.texto7_3.img_palabras) self.txt_actual = self.texto7_3.img_palabras self.chequeo_palabra(self.txt_actual) self.spserver.processtext(cont["texto7_3"], self.parent.config.activar_lector) self.anim6.continuar() elif animacion == 8: self.elemento_actual = -1 self.grupo_palabras.empty() self.grupo_fondotexto.add(self.caja_texto) self.grupo_palabras.add(self.texto7_4.img_palabras) self.txt_actual = self.texto7_4.img_palabras self.chequeo_palabra(self.txt_actual) self.spserver.processtext(cont["texto7_4"], self.parent.config.activar_lector) self.anim6.continuar() elif animacion == 9: self.elemento_actual = -1 self.grupo_anim.remove(self.anim6_5) self.grupo_palabras.empty() self.grupo_fondotexto.add(self.caja_texto) self.grupo_palabras.add(self.texto7_5.img_palabras) self.txt_actual = self.texto7_5.img_palabras self.chequeo_palabra(self.txt_actual) self.spserver.processtext(cont["texto7_5"], self.parent.config.activar_lector) self.anim6.continuar() elif animacion == 10: self.elemento_actual = -1 self.lista_palabra self.grupo_palabras.empty() self.grupo_fondotexto.empty() self.anim6_5.update() self.anim6_5.stop = False self.grupo_anim.add(self.anim6_5) self.anim6.detener() self.spserver.processtext(cont["anim7_1"], self.parent.config.activar_lector) elif animacion == 11: self.elemento_actual = -1 self.grupo_anim.remove(self.anim6_6) self.grupo_anim.remove(self.anim6_5) self.grupo_fondotexto.add(self.caja_texto) self.grupo_palabras.add(self.texto7_6.img_palabras) self.grupo_botones.add(self.sig) self.txt_actual = self.texto7_6.img_palabras self.chequeo_palabra(self.txt_actual) self.spserver.processtext(cont["texto7_6"], self.parent.config.activar_lector) self.anim6.continuar() elif animacion == 12: self.elemento_actual = -1 self.grupo_tooltip.empty() self.grupo_palabras.empty() self.grupo_fondotexto.empty() self.anim6_6.update() self.anim6_6.stop = False self.grupo_botones.remove(self.sig) self.grupo_anim.add(self.anim6_6) self.anim6.detener() self.spserver.processtext(cont["anim7_2"], self.parent.config.activar_lector)
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: self.teclasPulsadas = pygame.key.get_pressed() if event.type == pygame.QUIT: self.parent.quit() if event.type == pygame.KEYDOWN and event.key == pygame.K_F1: self.mostrar_ins() if event.type == pygame.KEYDOWN and not self.popup_ins.activo: self.chequeo_botones(self.grupo_botones) self.numero_elementos = len(self.lista_botones) self.lista_final = self.lista_botones if event.key == pygame.K_RIGHT: self.controlador_lector_evento_K_RIGHT() self.deteccion_movimiento = True 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 == "plantas": self.limpiar_grupos() self.parent.changeState(pantalla3.estado(self.parent)) elif self.x.id == "agri": self.limpiar_grupos() self.parent.changeState(pantalla8.estado(self.parent)) elif self.x.id == "act1": self.limpiar_grupos() self.parent.pushState(actividad1.estado(self.parent)) elif self.x.id == "act2": self.limpiar_grupos() self.parent.pushState(actividad2.actividad(self.parent)) elif self.x.id == "repro": self.limpiar_grupos() self.parent.changeState(pantalla5.estado(self.parent)) elif self.x.id == "config": self.limpiar_grupos() self.parent.pushState(menucfg.estado(self.parent, self.previa)) elif self.x.id == "orientacion": self.limpiar_grupos() self.parent.pushState(pantalla11.estado(self.parent)) if pygame.sprite.spritecollideany(self.raton, self.grupo_botones) and not self.popup_ins.activo: 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 == "orientacion": self.limpiar_grupos() self.parent.pushState(pantalla11.estado(self.parent)) elif sprite[0].id == "plantas": self.limpiar_grupos() self.parent.changeState(pantalla3.estado(self.parent)) elif sprite[0].id == "repro": self.limpiar_grupos() self.parent.changeState(pantalla5.estado(self.parent)) elif sprite[0].id == "agri": self.limpiar_grupos() self.parent.changeState(pantalla8.estado(self.parent)) elif sprite[0].id == "config": self.limpiar_grupos() self.parent.pushState(menucfg.estado(self.parent, self.previa)) elif sprite[0].id == "act1": self.limpiar_grupos() self.parent.pushState(actividad1.estado(self.parent)) elif sprite[0].id == "act2": self.limpiar_grupos() self.parent.pushState(actividad2.actividad(self.parent)) self.minimag(events)