Hola mi duda es sobre las clases de python, si quiero definir una clase Edificio, me dan una imagenplanta que es una imagen de una sola planta (una pared de ladrillos por ejemplo), me dan una posicion donde tengo que pegar el area del piso dentro de una area grafica, nplantas las plantas que hay.
class Edifici(pygame.sprite.Sprite):
def __init__(self, nPlantas, posicion, imagenPlanta):
self.rect
self.image
self.nplantas
el self.rect son las coordenadas (x0,y0,x1,y1) posicion y grandaria del area del piso. self.nplantas las plantas que hay y self.image es una imagen final que es el resultado de pegar nplanta veces la imagenplanta son una separacion de 1 pixel entre plantas de forma vertical y que ocupa el area del piso.
Mi pregunta es como hago lo de self.image solo con el init ? yo lo he hecho creando otra funcion:
class Edifici(pygame.sprite.Sprite):
def __init__(self, nPlantes=0, posicio=0, imatgePlanta=0):
self.rect = (posicio[0],posicio[1],imatgePlanta.get_rect()[2],imatgePlanta.get_rect()[3]*nPlantes + nPlantes)
self.nPlantes = nPlantes
self.image = pygame.Surface((self.rect[2],self.rect[3]))
def edifici(self, nPlantes, posicio, imatgePlanta):
i=0
while i < nPlantes:
self.image.blit(imatgePlanta,(posicio[0],posicio[1]+imatgePlanta.get_rect()[3]*i+i,imatgePlanta.get_rect()[2],imatgePlanta.get_rect()[2]))
i+=1