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).
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Módulos
import sys, pygame
from pygame.locals import *
from time import sleep
# Constantes
WIDTH = 800
HEIGHT = 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