Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/11/2011, 20:09
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Problema con un codigo en pygame

Código Python:
Ver original
  1. #Importaciones
  2. from pygame.locals import *
  3. import os
  4. import pygame
  5. import sys
  6.  
  7. #Constantes
  8. Resolucion=800
  9. Resolucion2=600
  10.  
  11. #Creacion de sprites y clases de objetos
  12. class Pelota(pygame.sprite.Sprite):
  13.     def __init__(self):
  14.         pygame.sprite.Sprite.__init__(self)
  15.         self.image=pygame.image.load("bola.png")
  16.         self.rect=self.image.get_rect()
  17.         self.rect.centerx=Resolucion /2
  18.         self.rect.centery=Resolucion2 /2
  19.         self.speed=[3,3]
  20.     def actualizar(self,time):
  21.         self.rect.centerx += self.speed[0]*time
  22.         self.rect.centery += self.speed[1]*time
  23.         if self.rect.left <= 0 or self.rect.right >= Resolucion:
  24.             self.speed[0] = -self.speed[0]
  25.             self.rect.centerx += self.speed[0]*time
  26.         if self.rect.top <= 0 or self.rect.bottom >= Resolucion2:
  27.             self.speed[1] = -self.speed[1]
  28.             self.rect.centery += self.speed[1]*time
  29.        
  30.  
  31. #Fucion principal del juego
  32. def main():
  33.     #Surface del juego
  34.     visor=pygame.display.set_mode((Resolucion,Resolucion2),0,32)
  35.     pygame.display.set_caption("Classic pong")
  36.     running=True
  37.     #Cargamos objetos
  38.     bola=Pelota()
  39.     clock=pygame.time.Clock()
  40.     #Bucle principal del juego
  41.     while running:
  42.         time=clock.tick(60)
  43.         bola.actualizar(time)
  44.         #Actualizamos la pantalla
  45.         visor.fill((0, 0, 0))
  46.         visor.blit(bola.image,bola.rect)
  47.         pygame.display.flip()
  48.         #Entradas de teclado y mouse
  49.         for evento in pygame.event.get():
  50.             if evento.type== KEYDOWN and evento.key==K_ESCAPE:
  51.                 running = False
  52.                 return 0
  53.                
  54. if __name__=="__main__":
  55.     pygame.init()
  56.     main()
Lo que tienes que hacer es limpiar la pantalla antes de poner la imagen en la pantalla, para generar la ilusión de una animación.