diff options
Diffstat (limited to 'Menu.py')
-rw-r--r-- | Menu.py | 160 |
1 files changed, 69 insertions, 91 deletions
@@ -52,7 +52,8 @@ class Menu(gtk.Widget): self.handle_event_Intro() pygame.event.clear() self.botonesmenu.draw(self.ventana) - self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) + self.ventana_real.blit(pygame.transform.scale(self.ventana, + self.resolucionreal), (0,0)) pygame.display.update() def presentacion(self, button): @@ -69,19 +70,23 @@ class Menu(gtk.Widget): presentacion.update() pygame.event.clear() presentacion.draw(self.ventana) - self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) + self.ventana_real.blit(pygame.transform.scale(self.ventana, + self.resolucionreal), (0,0)) pygame.display.update() imagen = os.path.join(G.IMAGENES, "Login", "fondo.jpg") - self.fondo = pygame.transform.scale(pygame.image.load(imagen), G.RESOLUCION) + self.fondo = pygame.transform.scale(pygame.image.load(imagen), + G.RESOLUCION) self.ventana.blit(self.fondo, (0,0)) self.botonesmenu.draw(self.ventana) - self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) + self.ventana_real.blit(pygame.transform.scale(self.ventana, + self.resolucionreal), (0,0)) pygame.display.update() def update(self): self.ventana.blit(self.fondo, (0,0)) self.botonesmenu.draw(self.ventana) - self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) + self.ventana_real.blit(pygame.transform.scale(self.ventana, + self.resolucionreal), (0,0)) pygame.display.update() def emit_volver(self, button=None): @@ -109,7 +114,6 @@ class Menu(gtk.Widget): tecla = event.key if tecla == pygame.K_ESCAPE: pygame.event.clear() - #self.run_dialog_intro(None) self.emit_volver(None) def load(self): @@ -125,41 +129,12 @@ class Menu(gtk.Widget): self.fondo = pygame.transform.scale(pygame.image.load(imagen), G.RESOLUCION) self.botonesmenu = ButtonsMenu(self) self.reloj = pygame.time.Clock() - pygame.event.set_blocked([JOYAXISMOTION, JOYBALLMOTION, JOYHATMOTION, JOYBUTTONUP, JOYBUTTONDOWN,KEYUP, USEREVENT]) - pygame.event.set_allowed([MOUSEMOTION, MOUSEBUTTONUP, MOUSEBUTTONDOWN, KEYDOWN, VIDEORESIZE, VIDEOEXPOSE, QUIT, ACTIVEEVENT]) + pygame.event.set_blocked([JOYAXISMOTION, JOYBALLMOTION, JOYHATMOTION, + JOYBUTTONUP, JOYBUTTONDOWN,KEYUP, USEREVENT]) + pygame.event.set_allowed([MOUSEMOTION, MOUSEBUTTONUP, MOUSEBUTTONDOWN, + KEYDOWN, VIDEORESIZE, VIDEOEXPOSE, QUIT, ACTIVEEVENT]) pygame.mouse.set_visible(True) - ''' - def run_dialog_intro(self, button): - from BiblioJAM.JAMDialog import JAMDialog - dialog = JAMDialog(mensaje = "¿Abandonas el Juego?", - funcion_ok = self.ok_intro, funcion_cancel = self.cancel_intro) - fuente, tamanio = JAMG.get_Font_fawn() - dialog.set_font_from_file(fuente, tamanio = 40) - dialog.boton_aceptar.set_font_from_file(fuente, tamanio = 25) - dialog.boton_cancelar.set_font_from_file(fuente, tamanio = 25) - a,b,c = JAMG.get_estilo_papel_quemado() - dialog.set_colors_dialog(base = c, bordes = c) - dialog.set_colors_buttons(colorbas = a, colorbor = b, colorcara = c) - self.estado = "Dialog" - dialog.draw(self.ventana) - pygame.display.update() - while self.estado == "Dialog": - self.reloj.tick(35) - while gtk.events_pending(): - gtk.main_iteration(False) - G.Traduce_posiciones(self.VA, self.VH) - dialog.clear(self.ventana, self.fondo) - dialog.update() - pygame.event.clear() - dialog.draw(self.ventana) - self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) - pygame.display.update() - - dialog.clear(self.ventana, self.fondo) - self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) - pygame.display.update()''' - def ok_intro(self, button): return self.emit_volver() def cancel_intro(self, button): @@ -175,7 +150,6 @@ class ButtonsMenu(pygame.sprite.OrderedUpdates): salir.set_colores(colorbas = JAMG.get_negro(), colorcara = JAMG.get_negro()) salir.set_tamanios(tamanio = (0,0), grosorbor = 1, detalle = 1, espesor = 1) salir.set_posicion(punto = (10,10)) - #salir.connect(callback = main.run_dialog_intro) salir.connect(callback = self.main.emit_volver, sonido_select = None) self.add(salir) @@ -232,11 +206,11 @@ class ButtonsMenu(pygame.sprite.OrderedUpdates): sep = 50 w,h = G.RESOLUCION - ww, hh = uno.get_tamanio() - uno.set_posicion( (w/2-ww/2, h/2 - hh) ) - x, y = uno.get_posicion() - dos.set_posicion( (x + ww + sep, y) ) - tres.set_posicion( (x - ww - sep, y) ) + ww, hh = dos.get_tamanio() + dos.set_posicion( (w/2-ww/2, h/2 - hh) ) + x, y = dos.get_posicion() + tres.set_posicion( (x + ww + sep, y) ) + uno.set_posicion( (x - ww - sep, y) ) cuatro.set_posicion( ((w/2 - ww) - sep, y + hh + sep) ) cinco.set_posicion( (w/2 + sep, y + hh + sep) ) @@ -250,7 +224,8 @@ class BotonGrupo(JAMButton): def set_imagen(self, origen): imagen = pygame.image.load(origen) self.final_unselect = imagen - self.final_select = JAMG.get_my_surface_whit_border(imagen.copy(), (255,255,255,255), 10) + self.final_select = JAMG.get_my_surface_whit_border(imagen.copy(), + (255,255,255,255), 10) self.image = self.final_unselect self.rect = self.image.get_rect() @@ -271,31 +246,31 @@ class Presentacion(pygame.sprite.OrderedUpdates): pygame.sprite.OrderedUpdates.__init__(self) self.main = main self.imagenes = G.get_Presentacion() - siguiente = None - anterior = None + self.siguiente = None + self.anterior = None salir = None self.imagen_actual = None self.estado = True fuente, tamanio = JAMG.get_Font_fawn() w,h = G.RESOLUCION - siguiente = JAMButton("Siguiente", None) - siguiente.set_text(color = JAMG.get_blanco()) - siguiente.set_font_from_file(fuente, tamanio = 40) - siguiente.set_colores(colorbas = JAMG.get_negro(), colorcara = JAMG.get_negro()) - siguiente.set_tamanios(tamanio = (150,0), grosorbor = 1, detalle = 1, espesor = 1) - ww,hh = siguiente.get_tamanio() - siguiente.set_posicion(punto = (w-ww-20,h-hh-20)) - siguiente.connect(callback = self.next, sonido_select = None) - self.add(siguiente) - anterior = JAMButton("Anterior", None) - anterior.set_text(color = JAMG.get_blanco()) - anterior.set_font_from_file(fuente, tamanio = 40) - anterior.set_colores(colorbas = JAMG.get_negro(), colorcara = JAMG.get_negro()) - anterior.set_tamanios(tamanio = (150,0), grosorbor = 1, detalle = 1, espesor = 1) - ww,hh = anterior.get_tamanio() - anterior.set_posicion(punto = (20,h-hh-20)) - anterior.connect (callback = self.previous, sonido_select = None) - self.add(anterior) + self.siguiente = JAMButton("Siguiente", None) + self.siguiente.set_text(color = JAMG.get_blanco()) + self.siguiente.set_font_from_file(fuente, tamanio = 40) + self.siguiente.set_colores(colorbas = JAMG.get_negro(), colorcara = JAMG.get_negro()) + self.siguiente.set_tamanios(tamanio = (150,0), grosorbor = 1, detalle = 1, espesor = 1) + ww,hh = self.siguiente.get_tamanio() + self.siguiente.set_posicion(punto = (w-ww-20,h-hh-20)) + self.siguiente.connect(callback = self.next, sonido_select = None) + self.add(self.siguiente) + self.anterior = JAMButton("Anterior", None) + self.anterior.set_text(color = JAMG.get_blanco()) + self.anterior.set_font_from_file(fuente, tamanio = 40) + self.anterior.set_colores(colorbas = JAMG.get_negro(), colorcara = JAMG.get_negro()) + self.anterior.set_tamanios(tamanio = (150,0), grosorbor = 1, detalle = 1, espesor = 1) + ww,hh = self.anterior.get_tamanio() + self.anterior.set_posicion(punto = (20,h-hh-20)) + self.anterior.connect (callback = self.previous, sonido_select = None) + self.add(self.anterior) salir = JAMButton("Salir", None) salir.set_text(color = JAMG.get_blanco()) salir.set_font_from_file(fuente, tamanio = 40) @@ -315,30 +290,33 @@ class Presentacion(pygame.sprite.OrderedUpdates): self.estado = False def next(self, button): - try: - indice = self.imagenes.index(self.imagen_actual) - if indice < len(self.imagenes)-1: - self.imagen_actual = self.imagenes[indice+1] - self.main.fondo = self.imagen_actual - else: - self.imagen_actual = self.imagenes[0] - self.main.fondo = self.imagen_actual - self.main.ventana.blit(self.main.fondo, (0,0)) - pygame.display.update() - except: - pass + indice = self.imagenes.index(self.imagen_actual) + if indice < len(self.imagenes)-1: + indice += 1 + self.imagen_actual = self.imagenes[indice] + self.main.fondo = self.imagen_actual + self.main.ventana.blit(self.main.fondo, (0,0)) + pygame.display.update() + self.view_buttons(indice) def previous(self, button): - try: - indice = self.imagenes.index(self.imagen_actual) - if indice > 1: - self.imagen_actual = self.imagenes[indice-1] - self.main.fondo = self.imagen_actual - else: - self.imagen_actual = self.imagenes[-1] - self.main.fondo = self.imagen_actual - self.main.ventana.blit(self.main.fondo, (0,0)) - pygame.display.update() - except: - pass - + indice = self.imagenes.index(self.imagen_actual) + if indice > 0: + indice -= 1 + self.imagen_actual = self.imagenes[indice] + self.main.fondo = self.imagen_actual + self.main.ventana.blit(self.main.fondo, (0,0)) + pygame.display.update() + self.view_buttons(indice) + + def view_buttons(self, indice): + if indice == len(self.imagenes)-1: + self.remove(self.siguiente) + elif indice == 0: + self.remove(self.anterior) + else: + if not self.anterior in self.sprites(): + self.add(self.anterior) + if not self.siguiente in self.sprites(): + self.add(self.siguiente) + |