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:
En ese código podrías almacenar las varias que quieras. Por ejemplo, pensando en tu proyecto yo hice dos variables: puntaje y nivel.
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í:
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