• Domingo 22 de Diciembre de 2024, 18:40

Autor Tema:  Problemas con Código  (Leído 1335 veces)

xsebax

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Problemas con Código
« en: Viernes 21 de Enero de 2011, 01:53 »
0
Bueno, aprovecho para presentarme en este foro ^^ y vengo con una pequeña duda, mejor dicho, petición de ayuda. Estoy aprendiendo python gracias a algunos tutoriales de la web, mas especificamente python con pygame.

El tema es que estuve probando algunas cosas para manejar textos, y trataba de hacer un código que a la hora de mostrar un texto lo escribiera letra por letra... bueno, antes que nada, aquí lo que llevo hecho (vale afirmar que las funciones tanto de load_images y texto no las he hecho yo de 0, me base en unos tutoriales para hacer juegos).

Código: Text
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. # Módulos
  5. import sys, pygame
  6. from pygame.locals import *
  7. from time import sleep
  8.  
  9. # Constantes
  10. WIDTH = 800
  11. HEIGHT = 600
  12.  
  13. # Clases
  14. # ---------------------------------------------------------------------
  15.  
  16. # ---------------------------------------------------------------------
  17.  
  18. # Funciones
  19. # ---------------------------------------------------------------------
  20. def load_image(filename, transparent=False):
  21.         try: image = pygame.image.load(filename)
  22.         except pygame.error, message:
  23.                 raise SystemExit, message
  24.         image = image.convert()
  25.         if transparent:
  26.                 color = image.get_at((0,0))
  27.                 image.set_colorkey(color, RLEACCEL)
  28.         return image
  29.        
  30. # ---------------------------------------------------------------------    
  31.        
  32. def texto(texto, posx, posy, color=(255, 255, 255)):
  33.     fuente = pygame.font.Font("images/DroidSans.ttf", 25)
  34.     salida = pygame.font.Font.render(fuente, texto, 1, color)
  35.     salida_rect = salida.get_rect()
  36.     salida_rect.centerx = posx
  37.     salida_rect.centery = posy
  38.     return salida, salida_rect
  39.    
  40. def lxl(mensaje, px, py):
  41.     rec = 0
  42.     while (rec <= len(mensaje)):
  43.         Mensaje, Mensaje_rect = texto(mensaje[rec], px, py)
  44.         rec += 1
  45.         sleep(1)       
  46.    
  47. # ---------------------------------------------------------------------
  48.  
  49. def main():
  50.     screen = pygame.display.set_mode((WIDTH, HEIGHT))
  51.     pygame.display.set_caption("Pruebas Pygame")
  52.  
  53.     background_image = load_image('images/Negro.png')
  54.     men = "Hola"
  55.     lxl(men, WIDTH/2, 40)
  56.  
  57.     while True:
  58.         for eventos in pygame.event.get():
  59.             if eventos.type == QUIT:
  60.                  sys.exit(0)
  61.  
  62.         screen.blit(background_image, (0, 0))
  63.         pygame.display.flip()
  64.     return 0
  65.  
  66. if __name__ == '__main__':
  67.     pygame.init()
  68.     main()
  69.  

Puede que hayan algunas cosas movidas xD ya que puse todo en distintos lugares, ah... si, olvidaba mencionar que uso geany o notepad++ para programar... y no se como compilar para recibir errores, ya que la consola no la uso muy bien.

No se que podrá estar mal (vaya a saber cuantas cosas estan mal xD). Pero menciono que antes debajo de esta linea >"Mensaje, Mensaje_rect = texto(mensaje[rec], px, py)", había un screen.blit(Mensaje, Mensaje_rect), pero tampoco tuve resultado.

Nada más que decir.

Saludos