Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/YoButia.py
diff options
context:
space:
mode:
Diffstat (limited to 'YoButia.py')
-rw-r--r--YoButia.py134
1 files changed, 134 insertions, 0 deletions
diff --git a/YoButia.py b/YoButia.py
new file mode 100644
index 0000000..2b2b57b
--- /dev/null
+++ b/YoButia.py
@@ -0,0 +1,134 @@
+import pygame
+import gtk
+import os
+import imp
+from gettext import gettext as _
+import time
+
+#constantes
+EVENTORESPUESTA = pygame.USEREVENT+1
+EVENTODESPEGUE = EVENTORESPUESTA+1
+EVENTOREFRESCO = EVENTODESPEGUE+1
+TIEMPOREFRESCO = 250
+CAMINORECURSOS = "recursos"
+CAMINOCOMUN = "comun"
+CAMINOIMAGENES = "imagenes"
+CAMINODATOS = "datos"
+
+class YoButia():
+ def __init__(self):
+ pass
+ def principal(self):
+ print "Clase principal"
+ #Aca va el loop principal del juego.
+ global scale, shift_x, shift_y
+ pygame.time.set_timer(EVENTOREFRESCO,TIEMPOREFRESCO)
+
+ self.loadAll()
+
+ self.loadCommons()
+
+ self.presentacion()
+
+ time.sleep(2)
+
+ def presentacion(self):
+ self.pantalla.fill((0,0,0))
+ self.pantalla.blit(self.fondo1,
+ (int(75*scale+shift_x),int(75*scale+shift_y)))
+ self.mostrarTexto(_("Press any key to skip"),
+ self.fuente32,
+ (int(600*scale+shift_x),int(800*scale+shift_y)),
+ (255,155,155))
+ pygame.display.flip()
+
+ def mostrarTexto(self,texto,fuente,posicion,color):
+ """Muestra texto en una determinada posicion"""
+ text = fuente.render(texto, 1, color)
+ textrect = text.get_rect()
+ textrect.center = posicion
+ self.pantalla.blit(text, textrect)
+
+ def loadAll(self):
+ #Metodo que carga las imagenes y sonidos
+
+ global scale, shift_x, shift_y, xo_resolution
+ pygame.init()
+ pygame.display.init()
+ # crear pantalla
+ self.anchoPantalla = gtk.gdk.screen_width()
+ self.altoPantalla = gtk.gdk.screen_height()
+ self.pantalla = pygame.display.get_surface()
+ if not(self.pantalla):
+ # prevent hide zones
+ self.anchoPantalla = self.anchoPantalla - 50
+ self.altoPantalla = self.altoPantalla - 100
+ self.pantalla = pygame.display.set_mode((self.anchoPantalla,
+ self.altoPantalla))
+ pygame.display.flip()
+ if self.anchoPantalla==1200 and self.altoPantalla==900:
+ xo_resolution = True
+ scale = 1
+ shift_x = 0
+ shift_y = 0
+ else:
+ xo_resolution = False
+ if self.anchoPantalla/1200.0<self.altoPantalla/900.0:
+ scale = self.anchoPantalla/1200.0
+ shift_x = 0
+ shift_y = int((self.altoPantalla-scale*900)/2)
+ else:
+ scale = self.altoPantalla/900.0
+ shift_x = int((self.anchoPantalla-scale*1200)/2)
+ shift_y = 0
+ # cargar imagenes generales
+ self.camino_imagenes = os.path.join(CAMINORECURSOS,
+ CAMINOCOMUN,
+ CAMINOIMAGENES)
+ # fondo presentacion
+ self.fondo1 = self.cargarImagen("fondo1.png")
+
+ #Cargar fuentes
+ self.fuente32 = pygame.font.Font(None, int(30*scale))
+
+ def loadCommons(self):
+
+ self.listaPrefijos = list()
+
+ r_path = os.path.join(CAMINORECURSOS, CAMINOCOMUN, CAMINODATOS, 'commons.py')
+ a_path = os.path.abspath(r_path)
+ f = None
+ try:
+ f = imp.load_source('commons', a_path)
+ except:
+ print _('Cannot open %s') % 'commons'
+
+ if f:
+ if hasattr(f, 'PREFIX'):
+ for e in f.PREFIX:
+ e1 = unicode(e, 'UTF-8')
+ self.listaPrefijos.append(e1)
+
+ self.numeroPrefijos = len(self.listaPrefijos)
+
+ def cargarImagen(self,nombre):
+ """Carga una imagen y la escala de acuerdo a la resolucion"""
+ global scale, xo_resolution
+ if xo_resolution:
+ imagen = pygame.image.load( \
+ os.path.join(self.camino_imagenes,nombre))
+ else:
+ imagen0 = pygame.image.load( \
+ os.path.join(self.camino_imagenes,nombre))
+ imagen = pygame.transform.scale(imagen0,
+ (int(imagen0.get_width()*scale),
+ int(imagen0.get_height()*scale)))
+ del imagen0
+ return imagen
+
+def main():
+ juego = YoButia()
+ juego.principal()
+
+if __name__ == "__main__":
+ main() \ No newline at end of file