[ Foro de Python ]

[Phyton 2.7]Objeto en forma de espiral.

03-Dec-2017 03:38
Invitado (GonzaloTec...)
0 Respuestas

Buenas comunidad, miren tengo un problema en la facultad, resulta que tengo que hacer un objeto dentro del juego(Pong), en donde el objeto se mueva en forma de espiral por toda la pantalla y al llegar al centro salte algun tipo de mensaje. el codigo que hize fue el siguiente.. pero se que hay una forma mas eficaz, aparte con este codigo el objeto queda en un lugar y despues de probar de todas formas de los self.rect, no  va a ningun lado.

class ObjetoFinal(pygame.sprite.Sprite):
   def __init__(self):
       pygame.sprite.Sprite.__init__(self)
       self.image = load_image("img/ballred.png", True)
       self.rect = self.image.get_rect()
       self.rect.centerx = OBA
       self.rect.centery = OBL
       self.speed = [2,-2,2,-2,-1]
       
   def actualizar2(self):
       self.rect.top = self.rect.top - self.speed[0]
       if self.rect.top == 25:
           self.speed[0] = 0
           self.rect.left = self.rect.left - self.speed[1]
       if self.rect.centerx == 580:
           self.speed[1] = 0
           self.rect.top = self.rect.top + self.speed[2]
       if self.rect.centery == 380:
           self.speed[2] = 0
           self.rect.left = self.rect.left + self.speed[3]
       if self.rect.centerx == 160 and self.rect.centery == 380:
           self.speed[0] = 2
       if self.rect.top == 125 and self.rect.centerx == 160:
           self.speed[0] = 0
           self.rect.left += self.rect.left - self.speed[4]

La otra cosa es que uso muchos if, creo que lo resumiria con 4 if y 1 for, pero nose como todabia trengo que ver, ya que la programacion orientada a objetos es jodida, si alguien tubiera un tutoria lde como usar bien los SELF.RECT, se los agradeceria, o si me puedira dar una mano le dejo mi hotmail..

desde ya muchas gracias, desde Posadas Misiones.
gnxa95@hotmail.com




Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...