Buenas tardes gente,
Estoy teniendo el siguiente problema al pasar el actor principal Shaolin a una clase. Me podran indicar si me falta algo o si ven algun error. Muchsa gracias. Saludos.
ANTES LO TENIA DE ESTA MANERA
shao = pilas.actores.Shaolin()
shao.x = 0
shao.y = -220
shao.escala = 0.52
shao.rotacion = 0
shao.aprender(pilas.habilidades.LimitadoABordesDePantalla)
shao.aprender(pilas.habilidades.PuedeExplotar)
shao.aprender('disparar', municion='Municion', angulo_salida_disparo=90)"""
Y AHORA LO INTENTO PONER EN UNA CLASE PERO NO ESTARIA APARECIENDO.
class Shaolinn(pilasengine.actores.Shaolin):
def iniciar(self):
self.imagen = "shaolin.png"
self.x = 0
self.y = -220
self.escala = 0.52
self.aprender(pilas.habilidades.LimitadoABordesDePantalla)
self.aprender(pilas.habilidades.PuedeExplotar)
pilas.actores.vincular(Shaolinn)
En el segundo caso, estás definiendo correctamente el actor, pero no lo estás creando (algo que haces en el primer caso). Añade al final también el pilas.actores.Shaolin()
1 Like
Es decir, la lĂnea completa; shao = pilas.actores.Shaolinn()
1 Like
me muestra lo siguiente:
»
Ă— # AttributeError: 'Actores' object has no attribute 'Shaolinn'
Ă— #
Ă— # Traza del error (las llamadas mas recientes al final):
Ă— # Archivo "/usr/local/lib/python2.7/dist-packages/pilas-1.1.0-py2.7.egg/pilasengine/interprete/editor.py",linea 634, en ejecutar
Ă— # exec(contenido, self.interpreterLocals)
Ă— # Archivo actual,linea 117, en
Ă— # AttributeError: 'Actores' object has no attribute 'Shaolinn'
Ă— #
AH, ya lo veo, el problema está en la primera linea. Donde pone
class Shaolinn(pilasengine.actores.Shaolin):
deberĂa ser
class Shaolinn(pilasengine.actores.Actor):
de esa manera, Shaolinn hereda correctamente del mĂłdulo de actores.
JuanQP
November 9, 2015, 3:23pm
6
Hay dos cosas que (entiendo) podrĂas estar queriendo hacer.
Lo que si entendĂ: QuerĂ©s crear una clase Shaolinn
.
Lo que no quedó claro: Si querés que esa clase herede de Actor
o si tiene que heredar de Shaolin
(este Ăşltimo caso podrĂa ser para darle alguna funcionalidad en particular a lo que ya sabe hacer Shaolin).
Shaolinn hereda de Actor
import pilasengine
pilas = pilasengine.iniciar()
class Shaolinn(pilasengine.actores.Actor):
def iniciar(self):
self.imagen = "shaolin.png"
self.x = 0
self.y = -220
self.escala = 0.52
self.aprender(pilas.habilidades.LimitadoABordesDePantalla)
self.aprender(pilas.habilidades.PuedeExplotar)
#Lo creamos
personaje = Shaolinn(pilas)
Shaolinn hereda de Shaolin
import pilasengine
pilas = pilasengine.iniciar()
class Shaolinn(pilasengine.actores.Shaolin):
def iniciar(self):
self.imagen = "shaolin.png"
self.x = 0
self.y = -220
self.escala = 0.52
self.aprender(pilas.habilidades.LimitadoABordesDePantalla)
self.aprender(pilas.habilidades.PuedeExplotar)
#Lo creamos
personaje = Shaolinn(pilas)
El Ăşnico cambio serĂa en
class Shaolinn(pilasengine.actores.Shaolin):
o
class Shaolinn(pilasengine.actores.Actor):
Saludos!