Autoload

Submitted by tech4life on

A veces en nuestros juegos queremos guardar información que sea accesible desde cualquier escena o script, como por ejemplo la puntuación del jugador, el nível de vida o el inventario de objetos que posee. 

Para ello tenemos diferentes maneras de implementarlo, como utilizar una escena que cargamos en todas las otras escenas o bien guardando y leyendo de disco, pero estos funcionamientos tienen tambien inconvenientes. 

Una de las maneras más sencillas es implementar el patrón Singleton para ello en Godot utilizaremos el Autoload, con esto podemos cargar Scripts o Scenes que se cargan automaticamente y se puede acceder a ellas desde cualquier punto. 

Veamos donde se insertan. En el menú iremos a Project y allí a Project Settings y en la ventana que se abre buscaremos la pestaña de Autoload : 

Allí añadiremos el fichero que queramos, en este caso AI.gd, y le indicaremos que esta Enable

Una vez hecho esto, podemos acceder a las variables y funciones que hemos definido en AI.gd de la siguiente manera : 

print("result:"+String.num_int64(AI.result))

En caso que al cargar el fichero como Autoload no indicaramos el flag de Enable, deberiamos cargar el script con un get_node. Pero no es necesario si le decimos que esta enable.

El fichero que cargamos, en este caso AI.gd es un script como cualquier otro, donde podemos tener variables y funciones, simulando el patron Singleton.