Saltar al contenido

🎮 Cómo Crear un Menú Principal en Unity con Botones Interactivos

Crear un menú principal en Unity es esencial para cualquier videojuego. En este tutorial, aprenderás a diseñar un menú con botones interactivos que permitirán: ✅ Iniciar el juego
Mostrar créditos
Salir del juego


🔹 1. Crear la Interfaz de Usuario (UI)

📌 Paso 1: Crear el Canvas

  1. En la barra superior de Unity, ve a GameObject > UI > Canvas.
  2. Nombra el Canvas como «MenuPrincipal».
  3. Asegúrate de que el CanvasScaler está configurado en:
    • UI Scale Mode: Scale With Screen Size
    • Reference Resolution: 1920x1080 (o la resolución que prefieras).

📌 Paso 2: Agregar un Panel de Fondo

  1. Dentro del Canvas, haz clic derecho > UI > Panel.
  2. Nómbralo «PanelFondo».
  3. En el Inspector, cambia el Color a algo más atractivo (por ejemplo, un degradado).

📌 Paso 3: Agregar los Botones

  1. Dentro del Canvas, haz clic derecho > UI > Button – TextMeshPro (si no tienes TextMeshPro instalado, usa Button normal).
  2. Renómbralo como «BotonJugar».
  3. Duplica (Ctrl + D) este botón dos veces y nómbralos:
    • «BotonCreditos»
    • «BotonSalir»
  4. Modifica el texto de cada botón:
    • BotonJugar → «Jugar»
    • BotonCreditos → «Créditos»
    • BotonSalir → «Salir»

💡 Consejo: Ajusta los botones en la jerarquía para que estén alineados verticalmente.


🔹 2. Crear el Script del Menú

Ahora crearemos un script para que los botones funcionen.

📌 Paso 4: Crear el Script MenuPrincipal.cs

  1. Ve a tu carpeta Scripts (Assets/Scripts).
  2. Clic derecho > Create > C# Script.
  3. Nómbralo MenuPrincipal.cs y ábrelo.
  4. Pega este código:
using UnityEngine;
using UnityEngine.SceneManagement;

public class MenuPrincipal : MonoBehaviour
{
    // Método para cargar la escena del juego
    public void Jugar()
    {
        SceneManager.LoadScene(1); // Asegúrate de que la escena del juego está en el índice 1 en Build Settings
    }

    // Método para mostrar los créditos (puedes enlazar un panel)
    public GameObject panelCreditos;

    public void MostrarCreditos()
    {
        if (panelCreditos != null)
        {
            panelCreditos.SetActive(true);
        }
    }

    // Método para cerrar el juego
    public void Salir()
    {
        Debug.Log("Saliendo del juego...");
        Application.Quit();

        #if UNITY_EDITOR
        UnityEditor.EditorApplication.isPlaying = false;
        #endif
    }
}

🔹 3. Asignar Funcionalidad a los Botones

📌 Paso 5: Asignar el Script a un GameObject

  1. En la jerarquía (Hierarchy), crea un objeto vacío (GameObject > Create Empty).
  2. Nómbralo «MenuController».
  3. Arrástrale el script MenuPrincipal.cs (Add Component > MenuPrincipal).

📌 Paso 6: Conectar los Botones

  1. Selecciona el BotonJugar en la Jerarquía.
  2. En el Inspector, busca la sección Button > OnClick().
  3. Haz clic en el + para agregar una nueva acción.
  4. Arrastra el MenuController al campo vacío.
  5. En la lista desplegable, selecciona MenuPrincipal > Jugar().

Repite esto para los otros botones:

  • BotonCreditosMenuPrincipal > MostrarCreditos()
  • BotonSalirMenuPrincipal > Salir()

🔹 4. Configurar la Escena en Build Settings

Para que los cambios de escena funcionen correctamente:

  1. Ve a File > Build Settings.
  2. Añade la escena actual (Add Open Scenes) y asegúrate de que está en el índice 0.
  3. Añade la escena del juego y asegúrate de que está en el índice 1.

🎮 Resultado Final

Un menú funcional con botones interactivos.
«Jugar» carga la escena del juego.
«Créditos» muestra un panel con información.
«Salir» cierra el juego.

¡Tu menú principal en Unity ya está listo! 🚀🎮


💬 ¿Qué puedes mejorar?

🔥 Agregar animaciones a los botones.
🎨 Personalizar los estilos y colores.
🔊 Añadir efectos de sonido al presionar los botones.
🏆 Crear una transición al entrar al juego.

Deja una respuesta

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

Información básica sobre protección de datos Ver más

  • Responsable: Tomas Gonzalez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

error: Content is protected !!

Descubre más desde Tomás González: Formador y Desarrollador Web

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo

Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad