Menu
CoddyTech

Repaso: selección de nivel

Parte de la sección Creación de juegos reales del Journey de Unity de Coddy. Lección 21 de 56.

challenge icon

Desafío

Fácil

Una pantalla de selección de nivel. La compilación enumera Menu (índice 0), Level1, Level2 y Level3. El menú tiene tres botones, que el Inspector coloca en levelButtons del script LevelSelect, y un objeto Progress. En cada nivel, las flechas guían al Player hasta un Goal dorado, cuyo script (ya preparado) llama a Progress.Instance.LevelDone(level) con el índice de compilación del nivel.

Progress.cs:

  • El progreso dura toda la partida y solo hay una instancia, a la que se accede mediante Progress.Instance, aunque el menú crea una nueva cada vez que se carga.
  • unlocked es el nivel más alto que el jugador puede jugar (1 al comienzo). LevelDone(int level) desbloquea el siguiente nivel, nunca bloquea uno que ya estaba desbloqueado y vuelve al menú.

LevelSelect.cs: en Start, asigna a cada botón un listener que carga su propio nivel (el primer botón carga Level1, y así sucesivamente), y haz que un botón solo se pueda pulsar si su nivel está desbloqueado.

Pulsa Play, juega los niveles en orden y vuelve a jugar el Nivel 1; después, pulsa Check.

Pruébalo tú mismo

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;

public class LevelSelect : MonoBehaviour
{
    public Button[] levelButtons;

    void Start()
    {
        // cada botón abre su nivel; no se puede hacer clic en los niveles bloqueados
    }
}

Todas las lecciones de Creación de juegos reales