[ 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.




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)