pilas-engine

Una sugerencia para el editor de codigo

Hola a todos!
He estado trabajando con godot ya que mi juego me resultaba muy complejo para pilas.
He notado que Godot permite minimizar funciones en el editor de código, es decir, “esconder las instrucciones” algo que Pilas también permite.
Pero con la diferencia de que en Godot al visualizar otro script (así le llaman en godot al código) las funciones que minimizamos se guardan de esa forma y al volver, aún permanecen así. Mientras que en pilas si cambias de actor y vuelves, el código vuelve a estar todo expandido.
Cuando haces algo mas o menos complejo en Pilas usas varios estados de automatas y terminas perdiendo unos buenos minutos navegando por el código hasta encontrar lo que buscas, creo que si Pilas guardase lo que minimizamos le daría mas comodidad.
De hecho, me he dado cuenta que el extenso código es una de las razones que me hicieron ver a mi juego muy complejo para pilas. Ya que me resultaba incómodo.

Es verdad @lukeitor mientras se va poniendo el juego más complejo se necesita más código haciendo un poco mas compleja la cosa, una cosa que me gustaría que pilas tuviera es hacer que un actor pueda ser hija de otro actor y así usar varios actores para expandir el código y no se quede todo en uno solo.

1 Like

Entiendo lo que dices, poder hacer una jerarquía permite reutilizar más fácil. Pero creo que la filosofía de Pilas es evitar ese tipo de complejidades, pilas está enfocado en que todo sea lo más intuitivo posible, lo que hace sea el motor más simple y fácil de aprender y esta es la gran ventaja que tiene pilas.
Sin embargo puedes hacer algo parecido ya que de la misma manera que puedes usar el código del proyecto, puedes acceder al código de otro actor sólo que el propio pilas te dirá que es un error aunque funciona.
Por ejemplo, supongamos tengo un actor “conejo” que tiene una función llamada perder(). Desde otro actor yo puedo ejecutar esa función en el conejo si primero creo una variable que haga referencia al conejo:

iniciar() {
    conejo = this.pilas.obtener_actor_por_nombre("conejo");
    conejo.perder();
}

Lo anterior ejecutaria la función perder desde el actor conejo. Sin embargo el editor de código de pilas te dirá que eso es un error y, obviamente, no te va dar el atajo sino que debes escribirlo tu mismo.

¡Hola!, es cierto lo que comentan del plegado de código, está buena la idea de hacer que quede guardado para que se recuerde mientras cambiamos de actor.

Estuve implementando eso para que quede guardado y ya tengo una versión funcional, mañana seguramente publique la versión nueva de pilas así ya lo pueden usar.

Por cierto, algo que también sirve para navegar un código muy grande es el explorador de símbolos que viene en el editor; este navegador se puede activar pulsando el botón derecho del mouse sobre el editor y luego seleccionado esta opción:

2021-10-21 yabpn

El explorador de símbolos permite listar el contenido del código y buscar rápidamente con el teclado:

mmmm… y ahora que lo pienso, tal vez debería añadir algún botón en la interfaz para que sea más fácil descubrir este explorador… ¿qué les parece a ustedes?

2 Likes

interesante eso de lo símbolos, la verdad que no le conocía. Yo usaba la tecla F3 la cual habré un buscador de palabras, ayuda mucho aunque también pierdes un ratito buscando. Creo que con una tecla de acceso estaría muy bien la verdad. En godot eso de los símbolos aparece siempre visible junto al editor de texto me parece.
Me quedo a la espera de esa nueva versión entonces :crossed_fingers:

1 Like