Buenas, estaba revisando el código de mi proyecto cuando me encontré un mensaje resaltado como error cuando intento asignar una instancia a una variable de tipo barra_de_energia. el error es el siguiente:
Lo curioso es que a pesar de marcarlo como error, el juego ejecuta sin problemas. Según recuerdo, hasta hace unas semanas esto no pasaba.
Alguna idea?
Hola @Santiago_Arguello, si, en realidad ese error debería haberte aparecido en versiones anteriores también. Pero más que un error en realidad es un detalle, el editor subraya en rojo pero en realidad no es grave, por eso el programa funciona bien de todas formas.
Te comento lo que sucede:
Por un lado el editor sabe que la propiedad: “this.barra” es de tipo “barra_de_energia”, lo que está bien porque vas a asignar un actor de ese tipo. Sin embargo el editor también tiene registrado que la función “this.pilas.actores.barra_de_energia()” retorna un objeto de tipo “Actor”.
Lo ideal, como solución, es que yo especifique en el código fuente de pilas que esa función “this.pilas.actores.barra_de_energia()” retorna un actor de tipo “barra_de_energia” y no “Actor”, y agregue ese cambio en la próxima versión de pilas.
La otra opción, para salir del paso rápido, es indicarle al editor que más allá de lo que digan los tipos de pilas, el tipo de dato que esperas de la función es de tipo “barra_de_energía” así:
this.barra = <barra_de_energia>this.pilas.actores.nave();
Esos paréntesis angulares fuerzan el tipo de dato a lo que nosotros le digamos.
Saludos!
2 Likes
Genial Hugo, muchas gracias. Saludos!