 .
.
esta vez mi problema es con los sprites!, estube probando como podia mover un sencillo sprite por la pantalla en cuatro direcciones.
ese era elprimer paso, luego era cambiar las imagenes del sprite para realizar un efecto de animacion mientras el sprite se mueve por la pantalla... pero en vistas de que siquiera se movia decidi dejar la animacion de lado para intentar moverlo.
me fije en varios ejemplos que vienen en el pygame, pero son bastantes extensos y no me es sencillo seguirlos para aprender a mover un sprite con entrada por teclado... aqui el codigo:
fichero completo descargable desde 4share.com, modulo Sprites.tar.bz2
main_2.py:
- Código: Seleccionar todo
- import sys
 import pygame
 from pygame.locals import *
 class Test(pygame.sprite.Sprite):
 def __init__(self):
 pygame.sprite.Sprite.__init__(self)
 #ojo aqui!, cambien la ubicacion para ver una imagen!
 self.image = pygame.image.load("/home/jorge/Dreams To Games/DEMOS/pruebas con pygame/modulo Sprites/datos/graph/b0.png")
 self.screen = pygame.display.get_surface()
 self.area = self.screen.get_rect()
 self.rect = self.image.get_rect()
 def update(self, posx, posy):
 nueva_pos = self.rect.move(posx,posy)
 print nueva_pos
 if self.area.contains(nueva_pos):
 self.rect.move_ip(posx, posy)
 if self.rect.left > self.area.left:
 self.rect.left = self.area.left
 if self.rect.right > self.area.right:
 self.rect.right = self.area.right
 def main():
 pygame.init()
 pantalla = pygame.display.set_mode((800, 600))
 pygame.display.set_caption("Prueba con Sprites")
 pygame.mouse.set_visible(0)
 bicho_posx = 0
 bicho_posy = 0
 blanco = (255, 255, 255, 255)
 pantalla.fill(blanco)
 pygame.display.flip()
 bicho = Test()
 todos = pygame.sprite.RenderPlain(bicho)
 clock = pygame.time.Clock()
 while 1:
 clock.tick(60)
 key = pygame.key.get_pressed()
 for evento in pygame.event.get():
 if evento.type == QUIT:
 sys.exit(0)
 if evento.type == KEYDOWN and evento.key == K_ESCAPE:
 sys.exit(0)
 if evento.type == KEYDOWN:
 if key[K_UP]:
 bicho_posx += 10
 if key[K_DOWN]:
 bicho_posx -= 10
 if key[K_LEFT]:
 bicho_posy -= 10
 if key[K_RIGHT]:
 bicho_posy += 10
 todos.update(bicho_posx, bicho_posy)
 pantalla.fill(blanco)
 todos.draw(pantalla)
 pygame.display.flip()
 pygame.time.wait(10)
 
 if __name__ == "__main__":
 main()




