Saltar al contenido

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

gray and black laptop computer

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

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