Repaso: doble salto
Parte de la sección Creación de juegos reales del Journey de Unity de Coddy. Lección 43 de 60.
En este capítulo, se movió un CharacterController a mano: Move para caminar, la gravedad almacenada en un campo y los saltos calculados a partir de su altura. El héroe añade un salto más en el aire.
Desafío
IntermedioHaz que el héroe salte y dé un salto en el aire. El movimiento ya está escrito.
- Primero, mientras esté en el suelo:
airJumpUsed = false, y unaverticalSpeednegativa pasa a ser-2f. - Al pulsar
Input.GetButtonDown("Jump"): si está en el suelo,verticalSpeed = Mathf.Sqrt(jumpHeight * -2f * gravity);; de lo contrario, si!airJumpUsed, lo mismo conairJumpHeight, y estableceairJumpUsed. - Después, suma
gravity * Time.deltaTimeaverticalSpeed.
Pulsa «Jugar» y haz un doble salto hasta la cornisa. Después, pulsa «Comprobar».
Pruébalo tú mismo
using UnityEngine;
public class Hero : MonoBehaviour
{
public float speed = 5f;
public float gravity = -25f;
public float jumpHeight = 2f;
public float airJumpHeight = 1.28f;
CharacterController controller;
float verticalSpeed;
bool airJumpUsed;
void Start()
{
controller = GetComponent<CharacterController>();
}
void Update()
{
// Restablece el estado al tocar el suelo, salta o haz un salto en el aire con Space y luego aplica la gravedad
Vector3 move = new Vector3(Input.GetAxisRaw("Horizontal"), 0f, Input.GetAxisRaw("Vertical")) * speed;
move.y = verticalSpeed;
controller.Move(move * Time.deltaTime);
}
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
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 banco8Controlador de personaje
CharacterController.MoveGravedad manualSaltarEmpujar objetosMuévete hacia donde mirasRepaso: doble salto3El 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