Cómo usar el Singleton (AutoLoad) en Godot

by | Abr 30, 2018 | Godot Engine, Tutoriales | 0 comments

Mientras aumenta la complejidad en un proyecto, la necesidad de manejar datos persistentes  (variables del jugador, enemigos, funciones) se convierte en algo insostenible para la jerarquía de escenas. Podemos tener en cada nivel una escena que sostenga las variables de otra, pero al hacer funciones con un elevado requerimiento de memoria, se puede notar una perdida considerable.

Por esta razón, aunque Godot no admite las “variables globales”, tenemos la opción de cargar scripts durante todo el proceso de nuestro juego. Dentro del script, conocido como Singleton, podemos guardar toda la información que necesitemos como persistente, ya que al ser ejecutado todo el tiempo, no importa que cambiemos de escena. El valor se mantiene en todas las escenas que formen parte del proyecto.


Poner script en el AutoLoad

Sólo podemos cargar scripts que hereden de un Node “extends Node”. Vamos a dirigirnos a la pestaña de “Proyecto” y después a los ajustes:

Ahora buscamos la pestaña de AutoLoad:

Indicamos la dirección del script que queremos:

Por defecto se coloca el nombre del script, podemos cambiarlo por uno que sea de nuestro agrado. Ese nombre lo usaremos cuando estemos accediendo a los valores del Singleton desde una escena. Hay que hacer clic en el botón “Add”.


Obtener valores de un script en AutoLoad

Dentro del Singleton, tengo lo siguiente:

extends Node

var puntos = 0
var vidas = 10
var nombre = "César"
var apellido = "León"

Para obtener las variables desde otra escena, escribimos el nombre del script y con un “.” la variable que queremos usar:

extends KinematicBody2D

var mi_vida = variables_globales.vidas
var mis_puntos = variables_globales.puntos

Por ahora esta es una explicación básica sobre el uso del Singleton en Godot.  Los próximos tutoriales explicaran formas para implementar esta característica de Godot en funcionalidades mas complejas, por ejemplo: Inventario.

Redes:

Los últimos posts:

¡Mi curso sobre Godot y Kings and Pigs ya está en Udemy!

Después de tanto tiempo, se ha publicado mi curso sobre Desarrollo de videojuegos con Godot Engine en la plataforma de Udemy. Agradezco a todas esas personas que me apoyaron para la producción del material, aunque todavía estoy trabajando por mis propios medios en la...

Recomendación del curso “Pixel Art para principiantes”

El que siga mis diarios de desarrollo desde hace tiempo, sabrá que de vez en cuando me gusta experimentar con el Pixel Art y probar si de verdad he mejorado algo, o por lo menos el resultado se hace un poquito más agradable. Siempre pienso que estoy estancado y que...

El Próximo curso de Kings and Pigs 🕵️

Un mes sin publicaciones. La verdad me sorprende mucho; el tiempo está pasando demasiado rápido. Si eres de esas personas que recargan la página de inicio, no te preocupes amigo/a: no he dejado de escribir tutoriales. En junio empecé a trabajar mi próximo curso sobre...

POO: Diseñar un Personaje en Godot – Primera parte

Muchos comentarios de ¿cómo hacer que mi personaje tenga un ataque especial? ¿cómo hago otras animaciones? ¿puedo acceder a una variable del personaje desde otro script? pueden responderse en un artículo (en realidad dos). Por esa razón hoy les hablaré sobre cómo...


¡Comenta! 👇️

0 Comments

Submit a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *