Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/Main.py
diff options
context:
space:
mode:
authorflavio <fdanesse@gmail.com>2012-04-04 00:41:10 (GMT)
committer flavio <fdanesse@gmail.com>2012-04-04 00:41:10 (GMT)
commitc6fbb6b5b652f63bdd4e163aa2e1cda5b488748b (patch)
treec2e03ca8f7fb2fb0494456786fbecd90d65883f4 /Main.py
parenta1096db00fa9a775551622cce8df04062af1f5e0 (diff)
Login
Diffstat (limited to 'Main.py')
-rw-r--r--Main.py172
1 files changed, 66 insertions, 106 deletions
diff --git a/Main.py b/Main.py
index ca5b677..4947a15 100644
--- a/Main.py
+++ b/Main.py
@@ -6,49 +6,36 @@
# https://sites.google.com/site/sugaractivities/
# http://codigosdeejemplo.blogspot.com/
-import pygame, gc, sys, random, gtk, pygtk
-from pygame.locals import *
+import pygame
+import gc
+import sys
+import gtk
+import gobject
+from pygame.locals import *
import Globals as G
gc.enable()
-
import BiblioJAM
from BiblioJAM.JAMButton import JAMButton
import BiblioJAM.JAMGlobals as JAMG
-from Menu import Menu
-class Main():
+class Main(gtk.Widget):
+ __gsignals__ = {"run":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, [])}
def __init__(self):
- # Variables para JAMatrix
- self.ventana= None
- self.name= "Derecho a Transitar"
- self.estado= False
-
- # Variables del Juego
- self.fondo= None
- self.reloj= None
- self.ambiente= None
-
- # Sprites
- self.botonesmenu= None
-
- # Escalado
- self.ventana_real= None
- self.resolucionreal= None
- self.VA= None
- self.VH= None
-
- self.preset()
-
- from BiblioJAM.JAMatrix import JAMatrix
- matrix= JAMatrix(self, self.ventana_real, self.resolucionreal)
- matrix.set_imagen_matrix(None)
- matrix.carga_game()
-
- self.estado= "Intro"
- self.switch()
-
- def run_menu(self):
+ gtk.Widget.__init__(self)
+ self.ventana = None
+ self.estado = False
+ self.fondo = None
+ self.reloj = None
+ self.botonesmenu = None
+ self.ventana_real = None
+ self.resolucionreal = None
+ self.VA = None
+ self.VH = None
+ self.load()
+ self.estado = "Intro"
+
+ def run(self):
self.ventana.blit(self.fondo, (0,0))
self.botonesmenu.draw(self.ventana)
pygame.display.update()
@@ -66,66 +53,47 @@ class Main():
pygame.display.update()
def run_game(self, button):
- self.fondo= None
- self.reloj= None
- #self.ambiente= None
- for boton in self.botonesmenu:
- boton.kill()
- self.botonesmenu= None
- pygame.time.wait(5)
- return Menu()
-
- def switch(self):
- if self.estado== "Intro":
- self.set_event_intro()
- return self.run_menu()
+ self.estado = None
+ self.emit("run")
- # ----------- EVENTOS en MENU ---------------
def handle_event_Intro(self):
for event in pygame.event.get(pygame.KEYDOWN):
- tecla= event.key
- if tecla== pygame.K_ESCAPE:
+ tecla = event.key
+ if tecla == pygame.K_ESCAPE:
return self.run_dialog_intro(None)
- # ----------- SETEOS -------------
- def preset(self):
+ def load(self):
pygame.display.set_mode( (0,0), pygame.DOUBLEBUF | pygame.FULLSCREEN, 0)
- A, B= G.RESOLUCION
+ A, B = G.RESOLUCION
self.ventana = pygame.Surface( (A, B), flags=HWSURFACE )
- self.ventana_real= pygame.display.get_surface()
- C= pygame.display.Info().current_w
- D= pygame.display.Info().current_h
- self.resolucionreal= (C,D)
- self.VA= float(C)/float(A)
- self.VH= float(D)/float(B)
-
- def load(self):
- self.fondo= G.get_Fondo_Inicial()
- self.ambiente= G.get_ambiente()
- self.botonesmenu= ButtonsMenu(self)
- self.reloj = pygame.time.Clock()
- #pygame.mixer.music.play(-1)
- self.estado= True
-
- def set_event_intro(self):
+ self.ventana_real = pygame.display.get_surface()
+ C = pygame.display.Info().current_w
+ D = pygame.display.Info().current_h
+ self.resolucionreal = (C,D)
+ self.VA = float(C)/float(A)
+ self.VH = float(D)/float(B)
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)
+ self.fondo = G.get_Fondo_Inicial()
+ self.botonesmenu = ButtonsMenu(self)
+ self.reloj = pygame.time.Clock()
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 = 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":
+ while self.estado == "Dialog":
self.reloj.tick(35)
while gtk.events_pending():
gtk.main_iteration(False)
@@ -136,7 +104,6 @@ class Main():
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()
@@ -144,39 +111,32 @@ class Main():
def ok_intro(self, button):
return self.salir()
def cancel_intro(self, button):
- self.estado= "Intro"
- # ----------- EVENTOS en MENU ---------------
-
+ self.estado = "Intro"
def salir(self):
pygame.quit()
sys.exit()
-# --------- Botones en Menu (Salir y juegos) ------------------
class ButtonsMenu(pygame.sprite.OrderedUpdates):
def __init__(self, main):
pygame.sprite.OrderedUpdates.__init__(self)
- imagen= G.get_Flecha()
-
- salir= JAMButton("",None)
- salir.set_imagen(origen= imagen, tamanio=(100,55))
- 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)
+ imagen = G.get_Flecha()
+ salir = JAMButton("",None)
+ salir.set_imagen(origen = imagen, tamanio = (100,55))
+ 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)
self.add(salir)
-
- jugar= JAMButton("",None)
- jugar.set_imagen(origen= imagen, tamanio=(100,55))
- jugar.set_colores(colorbas=JAMG.get_negro(), colorcara=JAMG.get_negro())
- jugar.set_tamanios(tamanio=(0,0), grosorbor=1, detalle=1, espesor=1)
- jugar.set_posicion(punto= (1000,800))
- jugar.connect (callback= main.run_game)
+ jugar = JAMButton("",None)
+ jugar.set_imagen(origen = imagen, tamanio = (100,55))
+ jugar.set_colores(colorbas = JAMG.get_negro(), colorcara=JAMG.get_negro())
+ jugar.set_tamanios(tamanio = (0,0), grosorbor = 1, detalle = 1, espesor = 1)
+ w,h = G.RESOLUCION
+ ww, hh = jugar.get_tamanio()
+ jugar.set_posicion(punto = (w-ww-10,h-hh-10))
+ jugar.connect (callback = main.run_game)
self.add(jugar)
- jugar.final_select= pygame.transform.flip(jugar.final_select, True, False)
- jugar.final_unselect= pygame.transform.flip(jugar.final_unselect, True, False )
+ jugar.final_select = pygame.transform.flip(jugar.final_select, True, False)
+ jugar.final_unselect = pygame.transform.flip(jugar.final_unselect, True, False )
jugar.image = jugar.final_unselect.copy()
-# --------- Botones en Menu (Salir y juegos) ------------------
-if __name__ == "__main__":
- pygame.init()
- Main()