Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/11/2011, 15:37
Siharzero
 
Fecha de Ingreso: noviembre-2011
Mensajes: 26
Antigüedad: 12 años, 6 meses
Puntos: 0
Problema con un codigo en pygame

Tengo un problema que no puedo solucionar..... sera que todavia soy novato en python....

bueno el problema es que cuando se ejecuta el codigo la pelota se dibuja infinitamente sin parar y yo solo quiero que se dibuje solo una ..... disculpen si es una pregunta muy novata para este foro es que recien empiezo y no le veo la solucion desde lo que yo se....
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.blit(bola.image,bola.rect)
  46.         pygame.display.flip()
  47.         #Entradas de teclado y mouse
  48.         for evento in pygame.event.get():
  49.             if evento.type== KEYDOWN and evento.key==K_ESCAPE:
  50.                 running = False
  51.                 return 0
  52.                
  53. if __name__=="__main__":
  54.     pygame.init()
  55.     main()