import pilasengine
pilas = pilasengine.iniciar()
class Protagonista(pilasengine.actores.Actor):
def iniciar(self, x=0,y=0):
animacion = pilas.imagenes.cargar_animacion("C:\Users\Joa\Desktop\Donde Estoy\protagonista\protagonista.png",8,1)
animacion_corre = pilas.imagenes.cargar_animacion("C:\Users\Joa\Desktop\Donde Estoy\protagonista\corriendo.png",8)
animacion_corre.definir_animacion("corre",range(1,8),20)
self.imagen = animacion_corre
self.img = animacion
self.imagen.cargar_animacion("corre")
def actualizar(self):
if pilas.escena_actual().control.izquierda:
self.x -= 5
self.espejado = True
self.imagen.avanzar()
elif pilas.escena_actual().control.derecha:
self.x += 5
self.espejado = False
self.imagen.avanzar()
protagonista = Protagonista(pilas)
pilas.ejecutar()
Cuando deja de moverse se queda en la ultima posicion que estuvo, como hago para que cuando deje de moverse cambie la imagen del actor?
Hola @plisquinsz !!!
Lo más sencillo para lograr que el actor regrese a su imagen inicial es usar la palabra reservada “else” así:
import pilasengine
pilas = pilasengine.iniciar()
class Protagonista(pilasengine.actores.Actor):
def iniciar(self, x=0,y=0):
animacion = pilas.imagenes.cargar_animacion("C:\Users\Joa\Desktop\Donde Estoy\protagonista\protagonista.png",8,1)
animacion_corre = pilas.imagenes.cargar_animacion("C:\Users\Joa\Desktop\Donde Estoy\protagonista\corriendo.png",8)
animacion_corre.definir_animacion("corre",range(1,8),20)
self.imagen = animacion_corre
self.img = animacion
self.imagen.cargar_animacion("corre")
def actualizar(self):
if pilas.escena_actual().control.izquierda:
self.x -= 5
self.espejado = True
self.imagen.avanzar()
elif pilas.escena_actual().control.derecha:
self.x += 5
self.espejado = False
self.imagen.avanzar()
else:
self.imagen = self.img # <<<<<<< o bien self.imagen = "imagen_cuando_esta_parado.png"
protagonista = Protagonista(pilas)
pilas.ejecutar()
Esta palabra reservada “else” sirve para ejecutar código cuando no se cumplen ninguna de las otras condiciones del “if”, (es decir, cuando no se pulsa izquierda ni derecha).
Avisanos si esto resuelve tu consulta!, Abrazo!
Hola, habia logrado resolverlo un momento antes de haberlo preguntado.