🎮 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:

  • BotonCreditos → MenuPrincipal > MostrarCreditos()
  • BotonSalir → MenuPrincipal > 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.

Tomas Gonzalez

Mi nombre es Tomás González, soy técnico informático, desarrollador web, y formador online. Estoy abierto a nuevas ideas o proyectos. Me puedes escribir a mi correo electrónico tomas.gonzalez@infogonzalez.com Puedes contratarme para clases particulares y proyectos en: Puedes ver mi perfil profesional en: Tomás González Mi Facebook es: Infogonzalez Puedes ver mis proyectos en GitHub GitHub

Ver todas las entradas

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 !!
Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad   
Privacidad