Detectar variables

Hola! Tengo un problema o mas que nada una traba.
Resulta que estoy realizando un juego tipo clicker.

Objetos: 1 botón(Subir Nivel), 1 personaje y 2 textos.(Experiencia y Nivel)

Cada vez que el jugador le da click al personaje, se sube el Puntaje (en este caso su experiencia) y se muestra en un texto su cantidad.
Hasta hay todo bien.

Pero quiero que cuando su Puntaje sea igual a 15 y le de click al botón SUBIR NIVEL, se le reste los 15 y se suba 1 punto a la variable Nivel. (que figuraría en otro texto)

Como puedo detectar esas variables o llamarlas para realizar esta acción?

Hola @SrBoga, una forma sencilla de implementar esa funcionalidad es tomando la variable que quieres compartir y “subirla” al código del proyecto. Cuando seleccionas el proyecto en el panel izquierdo vas a ver que aparece un código inicialmente vacío:

image

En ese código podrías almacenar las varias que quieras. Por ejemplo, pensando en tu proyecto yo hice dos variables: puntaje y nivel.

image

Lo interesante de poner código en el proyecto es que vas a poder acceder a estas variables desde cualquier actor o escena, simplemente vas a tener que escribir this.proyecto.puntaje o this.proyecto.nivel.

Por ejemplo, el botón para incrementar el puntaje lo hice así:

image

y el botón para aumentar vida lo hice así:

Te paso el proyecto entero:

¡Avisame cualquier cosa!

demo

Ah, también te paso el link al manual donde se muestra otro ejemplo que te puede servir:

1 Like

En Godot Engine existe una herramienta para crear singleton que justamente hace eso que mencionas,pero la diferencia es que crea un nodo a parte abajo del nodo root que se instancia 1 sola ves,es muy útil para manejar valores entre escenas como la vida o el puntaje.
Ejemplo

1 Like

Genial! Así se ve tan bien explicado! :slight_smile: Muchas Gracias!

1 Like