Noche de supervivencia
Parte de la sección Creación de juegos reales del Journey de Unity de Coddy. Lección 59 de 60.
Un superviviente está en un campo oscuro y los murciélagos vienen a por él durante toda la noche; aparece uno nuevo cada dos segundos aproximadamente desde una de las cuatro esquinas del campo. Cada murciélago vuela directamente hacia el superviviente, y el primero que lo alcanza pone fin a la noche. Un reloj en la parte superior cuenta los segundos que faltan para el amanecer: aguanta hasta entonces y ganarás. Un botón «Pausa» lo congela todo y, cuando termina la noche, «Jugar» de nuevo empieza una nueva.
El script Player, que mueve al superviviente con la acción Move, ya está escrito. Escribe GameManager y Bat.
Desafío
DifícilInicia Survival Night.
GameManager: un singletonInstance,public enum State { Playing, Paused, Won, Lost }ypublic State state.- Mientras estés en Playing, muestra
Dawn in 12con una cuenta regresiva denightLength(redondeado hacia arriba) y genera un murciélago en puntos de aparición aleatorios cadaspawnEverysegundos.Lose()establece Lost. Bat: mientras estés en Playing, vuela hacia el jugador aspeed, a la misma altura; al estar a una distancia menor quereach, llama aLose().
Pulsa «Jugar»: llegan murciélagos. Después, pulsa «Comprobar».
Pruébalo tú mismo
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using TMPro;
public class GameManager : MonoBehaviour
{
public float nightLength = 15f;
public float spawnEvery = 2f;
public GameObject batPrefab;
public Transform[] spawnPoints;
public TMP_Text dawnText;
public Button pauseButton;
public GameObject pausePanel;
public GameObject endPanel;
public TMP_Text endText;
public Button restartButton;
}
Todas las lecciones de Creación de juegos reales
1Texto en pantalla
Canvas y textoMuestra la puntuaciónDa formato a los númerosUn temporizador de cuenta regresivaRepaso: velocímetro2Botones y pantallas
Botones y onClickLambdasConectar en el InspectorPaneles activados y desactivadosBarras de saludRepaso: tienda de mejoras5Guardar con PlayerPrefs
Guardar un númeroCargar con un valor predeterminadoPuntuación más altaGuardar ajustesRepaso: monedas en el banco3El gestor del juego
Un solo script ejecuta el juegoEl SingletonEstados del juegoActivar el estadoRepaso: gestor de rondas6Proyecto: Corredor sin fin
Tres carrilesObstáculos por delante9El nuevo sistema de entrada
Dos sistemas de entradaTeclado y ratónPulsado en este fotogramaAcciones de entradaRepaso: cambio de entradaPractica por tu cuenta: Playground de Unity