Este es un fragmento del código del ejemplo del vampiro en Pila, lo que quiero es quitarle las calabazas y dejar simplemente el personaje asecas. Cada vez que quiero eliminar la porción de clase Calabaza me lanza error. Quiero una versión limpia solo del personaje.
VELOCIDAD = 8
class Vampiro(pilasengine.actores.Actor):
def iniciar(self):
self.imagen = pilas.imagenes.cargar_animacion("sonic.png", 10)
self.y = -120
self.escala = 0.75
self.radio_de_colision = 25
self.imagen.definir_animacion('parado', [4], 10)
self.imagen.definir_animacion('caminar', [5, 5, 6, 6, 7, 7, 8, 8, 9, 9], 15)
self.imagen.definir_animacion('saltar', [0], 15)
self.hacer_inmediatamente('ComportamientoNormal')
def actualizar(self):
if pilas.control.izquierda:
self.x -= VELOCIDAD
self.espejado = True
if pilas.control.derecha:
self.x += VELOCIDAD
self.espejado = False
#if self.x > 280:
#self.x = 280
#if self.x < -280:
#self.x = -280
self.imagen.avanzar()
class ComportamientoNormal(pilasengine.comportamientos.Comportamiento):
def iniciar(self, receptor):
self.receptor = receptor
self.receptor.imagen.cargar_animacion('parado')
def actualizar(self):
if pilas.control.derecha or pilas.control.izquierda:
self.receptor.hacer_inmediatamente('ComportamientoCaminar')
if pilas.control.arriba:
self.receptor.hacer_inmediatamente('ComportamientoSaltar')
class ComportamientoCaminar(pilasengine.comportamientos.Comportamiento):
def iniciar(self, receptor):
self.receptor = receptor
self.receptor.imagen.cargar_animacion('caminar')
def actualizar(self):
if not pilas.control.derecha and not pilas.control.izquierda:
self.receptor.hacer_inmediatamente('ComportamientoNormal')
if pilas.control.arriba:
self.receptor.hacer_inmediatamente('ComportamientoSaltar')
class ComportamientoSaltar(pilasengine.comportamientos.Comportamiento):
def iniciar(self, receptor):
self.receptor = receptor
self.receptor.imagen.cargar_animacion('saltar')
self.velocidad = 12
self.coordenada_y_inicial = self.receptor.y
def actualizar(self):
self.receptor.y += self.velocidad
self.velocidad -= 0.5
if self.receptor.y < self.coordenada_y_inicial:
self.receptor.hacer_inmediatamente('ComportamientoNormal')
self.receptor.y = self.coordenada_y_inicial
class Calabaza(pilasengine.actores.Actor):
def iniciar(self):
self.imagen = "imagenes/calabaza.png"
self.y = 300
self.x = pilas.azar(-250, 250)
self.velocidad = 0
self.radio_de_colision = 50
self.escala = 0.70
def actualizar(self):
self.velocidad += 0.05
self.y -= self.velocidad
self.rotacion += 2
if self.y < -400:
self.eliminar()
pilas.actores.vincular(Calabaza)
pilas.comportamientos.vincular(ComportamientoNormal)
pilas.comportamientos.vincular(ComportamientoCaminar)
pilas.comportamientos.vincular(ComportamientoSaltar)
def crear_calabaza():
calabaza = pilas.actores.Calabaza()
pilas.tareas.siempre(2, crear_calabaza)