11-08-2018, 06:39 AM
Code:
#fondos------------------------------------------------
class Fondos(object):
def __init__(self):
#iniciar variables y cargar recursos
self.fondo = Tilemap.fromfile("layer_foreground.tmx")
self.fondo2 = Tilemap.fromfile("layer_background.tmx")
motor.layers[0].setup(self.fondo)
motor.layers[1].setup(self.fondo2)
#personaje----------------------------------------------
class jugador(object):
def __init__(self):
#iniciar variables y cargar recursos
self.x = 60
self.y = 186
self.graficos = Spriteset.fromfile("hero")
motor.sprites[0].setup(self.graficos)
motor.sprites[0].set_position(self.x,self.y)
self.animacionPack = SequencePack.fromfile("hero.sqx")
self.animacionParado = self.animacionPack.sequences["seq_idle"]
motor.animations[0].set_sprite_animation(0,self.animacionParado,0)
#llamamos a la clase fondo
Fondos()
def update(self):
#mover objeto
if ventana.get_input(Input.RIGHT):
motor.sprites[0].set_position(self.x,self.y)
self.x += 2
#cambiar de lado imagen
motor.sprites[0].set_flags(0)
elif ventana.get_input(Input.LEFT):
motor.sprites[0].set_position(self.x,self.y)
self.x -= 2
motor.sprites[0].set_flags(Flags.FLIPX)
#destruir sprite
if ventana.get_input(Input.BUTTON1):
motor.sprites[0].disable()
Aqui tienes las dos clases,no he pegado todo el codigo solo lo esencial.
Como ves llamo al la clase Fondos() desde la clase jugador y de esa forma va perfecto,pero si hago esto: mifondo = Fondos() ,no me funciona,me refiero a hacerlo dentro de la clase jugador porque fuera si funciona.
Pero tampoco se si la variable mifondo es la que tengo que utilizar para hacer las colisiones con la funcion de colision,estoy un poco liado.