Al crear mi juego, quise agregarle un menú… esto me llevo a varios errores en los que me decían sobre problemas de que la variable no estaba definida.
Luego de rehacer el código paso a paso nuevamente pero esta vez empezando con el menú echo, me di cuenta que el error se trataba de un interpolar en el que el enemigo se tendría que dirigir al personaje principal del juego que es Pablo, pero al probar utilizar el interpolar en varios sitios del código me saltan errores como: “unsupported operand type(s) for -: ‘float’ and ‘list’” o “global name ‘pablo’ is not defined” o como “‘property’ object is not iterable”.
Intentare seguir probando solucionar el error, les agradecería un montón la ayuda, acá les dejo el código: https://drive.google.com/open?id=0B4oSplvwBx_5ZWRaLWNMYk5mUkU
Saludos cordiales Ivan Nuñez.
Buenas, @ivanln.26
El problema no está en el menú, si no en adaptar tu código a una escena. De repente te encuentras que lo que antes funcionaba, al ponerlo en una escena ya no te funciona.
La solución que he encontrado es QUITAR la def actualizar de la class Enemigos, y ponerla en la def actualizar de la class EscenaJuego. El problema que te daba es por que estabas intentando asignar una coordenada x a una lista o grupo y no a un actor en concreto. Eso se resuelve con un ciclo “for in”
Lo malo es que estás sobrecargando la def actualizar, y eso te va a ralentizar el juego, ya que va a ocupar mucha memoria. Te aconsejo que bajes la velocidad de creación de enemigos y la rapidez de la interpolacion.
class EscenaJuego(pilasengine.escenas.Escena):
def iniciar(self):
self.pilas.fondos.Cesped()
self.crear_boton_volver()
self.pablo = pilas.actores.Pablo()
self.enemigo = pilas.actores.Grupo()
self.pilas.tareas.siempre(0.5, self.crear_enemigo)
def actualizar(self):
for cada_mono in self.enemigo:
pilas.utils.interpolar(cada_mono, 'x', self.pablo.x, duracion = 1.5)
pilas.utils.interpolar(cada_mono, 'y', self.pablo.y, duracion = 1.5)
Muchísimas gracias @jordinur!!!
Te agradezco la gran ayuda que me haz aportado al agregarle el menú a mi proyecto y enseñarme debido a que se produce el error… gracias a esto puedo avanzar bastante.
Saludos Ivan