🎮 Cómo Cambiar de Escena al Pulsar un Botón en Unity

Cambiar de escena al presionar un botón en Unity es una de las funciones más básicas y esenciales en cualquier juego. En este tutorial, aprenderás a:

âś… Cargar una nueva escena al hacer clic en un botĂłn.
✅ Asegurar que las escenas estén configuradas en Unity correctamente.


🔹 1. Configurar las Escenas en Unity

Antes de programar el cambio de escena, debemos asegurarnos de que Unity reconozca las escenas que queremos cambiar.

📌 Paso 1: Agregar las Escenas a Build Settings

  1. Abre Unity y ve a File > Build Settings.
  2. Asegúrate de que las escenas están en la lista de Scenes In Build.
    • Si no están, presiona Add Open Scenes para agregarlas.
  3. Ordena las escenas correctamente:
    • Escena 0 → MenĂş Principal
    • Escena 1 → Nivel 1
    • Escena 2 → Nivel 2
      (El nĂşmero de Ă­ndice es importante para el cĂłdigo)

🔹 2. Crear el Script para Cambiar de Escena

Ahora crearemos un script para manejar los cambios de escena.

📌 Paso 2: Crear un Script CambioDeEscena.cs

  1. En la carpeta Scripts, crea un nuevo script (Right Click > Create > C# Script).
  2. Nómbralo CambioDeEscena y ábrelo.
  3. Copia este cĂłdigo:
using UnityEngine;
using UnityEngine.SceneManagement; // Necesario para cambiar escenas

public class CambioDeEscena : MonoBehaviour
{
    // Método para cargar una escena por su índice
    public void CargarEscena(int indiceEscena)
    {
        SceneManager.LoadScene(indiceEscena);
    }

    // Método para cargar una escena por su nombre
    public void CargarEscenaPorNombre(string nombreEscena)
    {
        SceneManager.LoadScene(nombreEscena);
    }
}

🔹 3. Configurar el Botón para Cambiar de Escena

Ahora aplicaremos el script a un botĂłn para que funcione.

📌 Paso 3: Crear el Botón

  1. En la jerarquĂ­a (Hierarchy), ve a GameObject > UI > Button - TextMeshPro.
  2. NĂłmbralo BotonJugar.
  3. En el Inspector, cambia su texto a "Jugar".

📌 Paso 4: Asignar el Script al Botón

  1. Crea un GameObject vacĂ­o en la jerarquĂ­a (GameObject > Create Empty).
  2. NĂłmbralo GestorDeEscenas.
  3. Arrástrale el script CambioDeEscena.cs (Add Component > CambioDeEscena).

📌 Paso 5: Conectar el Botón con la Función de Cambio de Escena

  1. Selecciona el botĂłn BotonJugar en la JerarquĂ­a.
  2. En el Inspector, busca la secciĂłn Button > OnClick().
  3. Haz clic en + para agregar una nueva acciĂłn.
  4. Arrastra el GestorDeEscenas al campo vacĂ­o.
  5. En el desplegable, selecciona:
    • Para cambiar por Ă­ndice: CambioDeEscena > CargarEscena(int)
    • Para cambiar por nombre: CambioDeEscena > CargarEscenaPorNombre(string)
  6. Si usas el Ă­ndice, escribe 1 (si el juego comienza en la escena con Ă­ndice 1).
  7. Si usas el nombre, escribe el nombre exacto de la escena (ejemplo: "Nivel1").

🎯 Resultado Final

✅ Al presionar el botón «Jugar», se cambiará a la escena configurada.
âś… Puedes usar Ă­ndices o nombres para mayor flexibilidad.
✅ Si la escena no está en Build Settings, Unity dará un error (asegúrate de agregarla).

gray and black laptop computer
Photo by Pixabay on Pexels.com

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