Programación Web y Scripting > Python
Problemas con Código
(1/1)
xsebax:
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 ---#!/usr/bin/env python# -*- coding: utf-8 -*- # Módulosimport sys, pygamefrom pygame.locals import *from time import sleep # ConstantesWIDTH = 800HEIGHT = 600 # Clases# --------------------------------------------------------------------- # --------------------------------------------------------------------- # Funciones# ---------------------------------------------------------------------def load_image(filename, transparent=False): try: image = pygame.image.load(filename) except pygame.error, message: raise SystemExit, message image = image.convert() if transparent: color = image.get_at((0,0)) image.set_colorkey(color, RLEACCEL) return image # --------------------------------------------------------------------- def texto(texto, posx, posy, color=(255, 255, 255)): fuente = pygame.font.Font("images/DroidSans.ttf", 25) salida = pygame.font.Font.render(fuente, texto, 1, color) salida_rect = salida.get_rect() salida_rect.centerx = posx salida_rect.centery = posy return salida, salida_rect def lxl(mensaje, px, py): rec = 0 while (rec <= len(mensaje)): Mensaje, Mensaje_rect = texto(mensaje[rec], px, py) rec += 1 sleep(1) # --------------------------------------------------------------------- def main(): screen = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("Pruebas Pygame") background_image = load_image('images/Negro.png') men = "Hola" lxl(men, WIDTH/2, 40) while True: for eventos in pygame.event.get(): if eventos.type == QUIT: sys.exit(0) screen.blit(background_image, (0, 0)) pygame.display.flip() return 0 if __name__ == '__main__': pygame.init() main()
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
Navegación
Ir a la versión completa