Riepilogo: doppio salto
Fa parte della sezione Creare veri giochi del percorso Unity di Coddy. Lezione 43 di 60.
In questo capitolo hai mosso manualmente un CharacterController: Move per camminare, la gravità mantenuta in un campo e i salti calcolati in base alla loro altezza. L’eroe aggiunge un altro salto in aria.
Sfida
MedioFai saltare l'eroe e fagli fare un salto in aria. Il movimento è già scritto.
- Per prima cosa, quando è a terra:
airJumpUsed = falsee, se sta cadendo,verticalSpeeddiventa-2f. - Quando viene premuto
Input.GetButtonDown("Jump"): se è a terra,verticalSpeed = Mathf.Sqrt(jumpHeight * -2f * gravity);; altrimenti, se!airJumpUsed, fai lo stesso usandoairJumpHeighte impostaairJumpUsed. - Poi aggiungi
gravity * Time.deltaTimeaverticalSpeed.
Premi «Gioca» e fai un doppio salto fino alla sporgenza. Poi premi «Verifica».
Provalo tu
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()
{
// Reimposta quando sei a terra, salta o esegui un salto in aria premendo Space, poi applica la gravità
Vector3 move = new Vector3(Input.GetAxisRaw("Horizontal"), 0f, Input.GetAxisRaw("Vertical")) * speed;
move.y = verticalSpeed;
controller.Move(move * Time.deltaTime);
}
}
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Creare veri giochi
1Testo sullo schermo
Canvas e testoMostra il punteggioFormattare i numeriUn timer per il conto alla rovesciaRiepilogo: tachimetro2Pulsanti e schermate
Pulsanti e onClickLambdaCollegare nell'InspectorPannelli attivi e disattiviBarre della saluteRiepilogo: negozio degli upgrade5Salvare con PlayerPrefs
Salvare un numeroCaricare con un valore predefinitoPunteggio massimoSalvare le impostazioniRiepilogo: monete in banca8Controller del personaggio
CharacterController.MoveGravità manualeSaltoSpingere gli oggettiMuoviti dove guardiRiepilogo: doppio salto3Il gestore del gioco
Uno script gestisce il giocoIl SingletonStati di giocoSelezionare lo statoRiepilogo: gestore del round6Progetto: Runner infinito
Tre corsieOstacoli in arrivo9Il nuovo sistema di input
Due sistemi di inputTastiera e mousePremuto in questo frameAzioni di inputRiepilogo: cambio di inputEsercitati da solo: Playground Unity