Plataformas móviles
Parte de la sección Creación de juegos reales del Journey de Unity de Coddy. Lección 49 de 56.
Desafío
IntermedioLa plataforma azul debe deslizarse de un lado a otro sobre el hueco. Conserva todo lo de la lección anterior.
Completa MovingPlatform:
- Dos campos que configura el Inspector,
distance(3) yspeed(1.5), y unpublic Vector3 delta. - Se desliza desde donde empieza hasta
distanceunidades en dirección +x aspeedunidades por segundo, luego vuelve al punto de inicio y así sucesivamente para siempre. - En cada fotograma,
deltaindica cuánto se movió en ese fotograma: la posición después del movimiento menos la posición antes.
Un CharacterController no es transportado por aquello sobre lo que se encuentra: en una plataforma móvil permanece donde está y la plataforma se desliza por debajo. Mover su transform.position tampoco funciona: el siguiente Move del controlador empieza desde donde la física lo vio por última vez y deshace el cambio. Haz que Player se desplace junto con la plataforma:
- Añade
OnControllerColliderHit. Cuando la normal del impacto apunta hacia arriba (hit.normal.yes mayor que 0.5: el jugador está de pie sobre ella) y el objeto tiene unMovingPlatform, guarda esa plataforma en un campo. - En
Update, añade eldeltade esa plataforma al movimiento que se pasa acontroller.Movey luego olvida la plataforma (establece el campo ennull). La llamada aMovela vuelve a encontrar mientras el jugador siga de pie sobre ella.
Pulsa Play, salta a la plataforma y desplázate con ella; luego pulsa Check.
Pruébalo tú mismo
using UnityEngine;
public class MovingPlatform : MonoBehaviour
{
// Una lección posterior completará esto: una plataforma que se desliza de un lado a otro.
}
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ímetro4Escenas y niveles
Cargar una escenaReiniciar el nivelSiguiente nivelConservar entre escenasRepaso: selección de nivel10Proyecto: plataformas 3D
El recorridoPlataformas móviles2Botones 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 infinito
Tres carrilesObstáculos por delante9El nuevo sistema de entrada
Dos sistemas de entradaTeclado y ratónPulsado en este fotogramaAcciones de entradaRepaso: cambio de entrada