Realizar una interfaz de usuario en Godot es una tarea muy sencilla, ya tenemos los nodos necesarios preparados y sólo necesitamos especificar lo que pasa según las acciones del usuario. Hoy vamos a hacer un repaso creando un menú básico para nuestro juego. 

Puedes descargar el proyecto Aquí.

Creando los nodos

Esta es la escena del menú principal. Sus nodos son:

  • Control: padre de todos los nodos que tengan relación con la interfaz de usuario.
  • ColorRect (fondo): color personalizado que podemos poner en la escena.
  • Button (inicio, salir): es el primer nodo de botón, de él derivan otro tipo de botones.
  • Label: se usa para colocar texto en la escena.

Obtener botones desde el Script

func _process(delta):
	if $inicio.pressed:
		get_tree().change_scene_to(nivel)
	if $Salir.pressed:
		get_tree().quit()

Desde el Script de control vamos a poder manejar todos los nodos hijos, entre ellos, los botones. Los nodos de tipo button tienen diferentes métodos para las acciones del usuario, ahora sólo necesitamos saber si son presionados.

Cuando queremos cambiar de una escena o salir del juego, tenemos que acceder al árbol de recursos de nuestro proyecto y usar uno de sus métodos: con «get_tree().change_scene_to(»)» estamos cambiando la escena por la que indiquemos, pero no podemos poner cualquier cosa como valor, necesitamos usar un recurso PackedScene. Lo guardamos en esta variable:

export (PackedScene) var nivel

Si usamos «export» para una variable, vamos a poder cambiar su valor fuera del script, en el inspector. Nos dirigimos al nodo de control y buscamos en sus propiedades el «nivel»:

A ustedes les saldrá en blanco, tienen que hacer clic y buscar la escena que quieran poner.

Para salir del juego tenemos que acceder al árbol de recursos y usar el método quit().


Ya hemos terminado. Si tienen una duda, pueden dejarla en los comentarios.


César León

Nací en el mes de mayo. En 2014 empecé a estudiar sobre el desarrollo de vídeojuegos, un conflicto de mi vida fue descargar software privado sin pagar licencias. Godot formó un puente entre mi y el Software Libre, probé GNU/Linux y termine aceptando el sentimiento ético de la FSF. Feliz de desarrollar juegos Indie con Software Libre :').