Problemas con el Actor Texto

Hola, tengo un problema al querer pasarle el argumento texto, al actor Texto

Cuando creo un actor personalizado, puedo pasar normalmente el argumento imagen, pero solo con el objeto Actor (pilasengine.actores.Actor)

class Poroncho(pilasengine.actores.Actor):

	def iniciar(self):
		self.imagen = 'imagenes/personajes/poroncho/standing/frame-1.png'

Pero cuanto intento realizar lo mismo con el objeto Texto (pilasengine.actores.Texto)

class PreguntaAleatoria(pilasengine.actores.Texto):
	def iniciar(self):
		self.texto = "hola"

En la consola comienza a pedirme de otros argumentos que por lo que vi ya estan predefinidos

He intentado pasar cada argumento que “me faltaba” (magnitud, vertical,fuente, etc) pero pilas se terminaba crasheando.

No se si estoy haciendo algo mal, o si se trata de un error del pilas, por el momento creo el texto directamente en el juego, pero me gustaria crearlo como objeto.

Hola @Muse, efectivamente es un bug de pilas :frowning: en breve voy a corregirlo, no lo había detectado antes… mil disculpas.

Por suerte hay una forma de eludir este bug y que puedas avanzar sin necesidad de esperar el arreglo o actualizar, en lugar de usar el método “iniciar” podrías definir un método “post_iniciar” y cambiar el texto ahí.

Te paso un ejemplo de cómo podrías implementar la clase “PreguntaAleatoria”:

# coding: utf-8
import pilasengine

pilas = pilasengine.iniciar()

class PreguntaAleatoria(pilasengine.actores.Texto):
    
    def __init__(self, *k, **kw):
        pilasengine.actores.Texto.__init__(self, *k, **kw)
        self.post_iniciar()
        
    def post_iniciar(self):
        self.texto = "mi texto"

pilas.actores.vincular(PreguntaAleatoria)

pilas.actores.PreguntaAleatoria()
pilas.ejecutar()

El método _init_ generalmente no se define cuando usamos pilas, pero en este caso como se trata de un bug de pilas no nos queda otra opción :wink:

Avisanos si te sirve la solución o buscamos otra manera. En breve voy a agregar la tarea para corregir este bug en pilas para que la próxima versión ya lo traiga corregido.

¡Abrazo!

EDITO: el issue que armé para resolver el bug está aquí: Corregir método inciar en el actor Texto · Issue #295 · hugoruscitti/pilas · GitHub