Piattaforme mobili
Fa parte della sezione Creare veri giochi del percorso Unity di Coddy. Lezione 49 di 56.
Sfida
MedioLa piattaforma blu dovrebbe scorrere avanti e indietro sopra il vuoto. Mantieni tutto ciò che hai realizzato nella lezione precedente.
Completa MovingPlatform:
- Due campi impostati dall’Inspector,
distance(3) espeed(1.5), e unpublic Vector3 delta. - Scorre dal punto di partenza per
distanceunità lungo +x alla velocità dispeedunità al secondo, poi torna al punto di partenza, e così via per sempre. - A ogni frame,
deltaindica di quanto si è spostata in quel frame: la sua posizione dopo lo spostamento meno la sua posizione prima.
Un CharacterController non viene trasportato da ciò su cui poggia: su una piattaforma mobile rimane dov’è e la piattaforma scivola via sotto di lui. Nemmeno spostare il suo transform.position funziona: la successiva chiamata a Move del controller parte dal punto in cui la fisica l’ha visto l’ultima volta e annulla la modifica. Fai in modo che Player si sposti insieme alla piattaforma:
- Aggiungi
OnControllerColliderHit. Quando la normale del contatto è rivolta verso l’alto (hit.normal.ymaggiore di 0.5: il giocatore ci sta sopra) e l’oggetto ha unMovingPlatform, conserva quella piattaforma in un campo. - In
Update, aggiungideltadella piattaforma al movimento passato acontroller.Move, poi dimentica la piattaforma (imposta il campo anull). La chiamata aMovela individua di nuovo finché il giocatore ci sta sopra.
Premi Play, salta sulla piattaforma e lasciati trasportare, poi premi Check.
Provalo tu
using UnityEngine;
public class MovingPlatform : MonoBehaviour
{
// Una lezione successiva completerà questa parte: una piattaforma che scorre avanti e indietro.
}
Tutte le lezioni di Creare veri giochi
1Testo sullo schermo
Canvas e testoMostra il punteggioFormattare i numeriUn timer per il conto alla rovesciaRiepilogo: tachimetro4Scene e livelli
Caricare una scenaRiavviare il livelloLivello successivoMantenere i dati tra le sceneRiepilogo: selezione del livello10Progetto: Platform 3D
Il percorsoPiattaforme mobili2Pulsanti 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: Corsa infinita
Tre corsieOstacoli in arrivo9Il nuovo sistema di input
Due sistemi di inputTastiera e mousePremuto in questo frameAzioni di inputRiepilogo: cambio di input