If ed Else
Fa parte della sezione Fondamenti di scripting in Unity del percorso Unity di Coddy. Lezione 6 di 85.
Un bool contiene uno di due valori: true o false. La porta è aperta? Il giocatore è a terra? La partita è finita?
bool gameOver = false;Un if esegue le sue righe solo quando la sua condizione è vera, mentre un else esegue le sue righe quando non lo è. Le parentesi graffe { } racchiudono le righe che appartengono a ciascuna parte:
if (gameOver)
{
transform.position = new Vector3(0, -2, 0);
}
else
{
transform.position = new Vector3(0, 2, 0);
}Questo fa sprofondare un oggetto fuori dalla vista quando la partita è finita e lo mantiene in alto mentre la partita continua. Codice come questo va inserito all'interno di un metodo, come Update(), mai dopo l'ultima } della classe.
Anche Unity risponde alle domande con valori bool. Input.GetKey(KeyCode.Space) è true mentre il giocatore tiene premuta la barra spaziatrice e false per il resto del tempo, quindi Update() può verificarlo a ogni fotogramma.
Sfida
FacileTenendo premuto Spazio, il cancello dovrebbe sollevarsi.
- Sotto i due commenti in
Update(), scriviif (open)contransform.position = new Vector3(0, 3, 0);tra le parentesi graffe. - Dopo, scrivi
elsecontransform.position = new Vector3(0, 1, 0);tra le parentesi graffe.
Premi «Gioca», fai clic sul gioco e tieni premuto Spazio: il cancello si solleva e si abbassa quando rilasci il tasto. Poi premi «Verifica».
Provalo tu
using UnityEngine;
public class Gate : MonoBehaviour
{
void Update()
{
bool open = Input.GetKey(KeyCode.Space);
// Se open è true, sposta il cancello a (0, 3, 0).
// Altrimenti, spostalo a (0, 1, 0).
}
}
Tutte le lezioni di Fondamenti di scripting in Unity
1Nozioni di base di C# in Unity
Ciao, UnityVariabiliI numeri decimali richiedono una fTesto nella ConsoleVariabili che ricordanoIf ed ElseConfrontare i numeriRipasso: il collezionista di monete7Cicli e metodi
Ripeti con forCicli annidatiScrivere un metodoMetodi che restituiscono valoriArrayRiepilogo: scala10Trovare gli oggetti
Trovare per nomeTagTrovare per tipoI riferimenti battono la ricercaIl null di UnityRipasso: la moneta più vicina13Progetto: Schiva i blocchi
Il corridoreBlocchi dal cielo2Fallo muovere
Posiziona il cuboMuovilo a ogni frameRuotalo ogni secondoGuidalo con i tastiRiepilogo: guida il cubo5Vettori
Somma di vettoriDirezioniSpazio locale e spazio mondoVelocità diagonaleDistanza tra gli oggettiVector3 è una structRiepilogo: pilota di droni8GameObject e componenti
Riferimenti nell'InspectorOttenere un componenteComponenti mancantiAggiungere un componenteRequireComponentMostrare e nascondereRiepilogo: interruttore della luce3L’Inspector
Campi dell’InspectorSerializeFieldNumeri decimali e MathfAttributi dell’InspectorRiepilogo: ascensore6Trasformazioni e gerarchia
Genitori e figliIssare la bandieraScalaOsservare gli oggettiMuoversi verso un puntoRiepilogo: Luna in orbita9Progetto: Acchiappa la stella
Il raccoglitoreUna stella cadente12Il ciclo di vita dello script
Awake e StartUpdate e LateUpdateOnEnable e OnDisableL'ordine del ciclo di vitaRiepilogo: Lifecycle LoggerEsercitati da solo: Playground Unity