If und Else
Teil des Abschnitts Unity-Scripting: Grundlagen der Unity-Journey von Coddy. Lektion 6 von 85.
Ein bool enthält einen von zwei Werten: true oder false. Ist die Tür offen? Ist der Spieler auf dem Boden? Ist das Spiel vorbei?
bool gameOver = false;Ein if führt seine Zeilen nur aus, wenn seine Bedingung wahr ist, und ein else führt seine Zeilen aus, wenn sie es nicht ist. Die geschweiften Klammern { } enthalten die Zeilen, die zu jedem Teil gehören:
if (gameOver)
{
transform.position = new Vector3(0, -2, 0);
}
else
{
transform.position = new Vector3(0, 2, 0);
}Dadurch sinkt ein Objekt außer Sicht, wenn das Spiel vorbei ist, und bleibt oben, solange das Spiel weitergeht. Code wie dieser gehört in eine Methode, zum Beispiel Update(), niemals hinter das letzte } der Klasse.
Auch Unity beantwortet Fragen mit bools. Input.GetKey(KeyCode.Space) ist true, solange der Spieler die Leertaste gedrückt hält, und false während der restlichen Zeit, sodass Update() dies in jedem Frame abfragen kann.
Aufgabe
EinfachWenn du die Leertaste gedrückt hältst, sollte sich das Tor heben.
- Schreibe unter die beiden Kommentare in
Update()if (open)mittransform.position = new Vector3(0, 3, 0);in den geschweiften Klammern. - Schreibe danach
elsemittransform.position = new Vector3(0, 1, 0);in den geschweiften Klammern.
Klicke auf „Spielen“, klicke ins Spiel und halte die Leertaste gedrückt: Das Tor hebt sich und senkt sich wieder, wenn du die Taste loslässt. Klicke dann auf „Prüfen“.
Probier es selbst
using UnityEngine;
public class Gate : MonoBehaviour
{
void Update()
{
bool open = Input.GetKey(KeyCode.Space);
// Wenn open true ist, bewege das Tor nach (0, 3, 0).
// Andernfalls bewege es nach (0, 1, 0).
}
}
Alle Lektionen in Unity-Scripting: Grundlagen
1C#-Grundlagen in Unity
Hallo, UnityVariablenDezimalzahlen brauchen ein fText in der KonsoleVariablen, die sich etwas merkenIf und ElseZahlen vergleichenRückblick: Münzsammler7Schleifen und Methoden
Wiederholen mit forSchleifen in SchleifenEine Methode schreibenMethoden mit RückgabewertArraysRückblick: Treppe10Dinge finden
Nach Namen suchenTagsNach Typ suchenReferenzen schlagen SuchenUnitys NullRückblick: nächste Münze13Projekt: Weiche den Blöcken aus
Der LäuferBlöcke vom Himmel2Bring es in Bewegung
Platziere den WürfelBewege ihn in jedem FrameDrehe ihn jede SekundeSteuere mit den TastenRückblick: Fahre den Würfel5Vektoren
Vektoren addierenRichtungenLokaler und globaler RaumDiagonale GeschwindigkeitAbstand zwischen ObjektenVector3 ist eine StrukturRückblick: Drohnenpilot8GameObjects und Komponenten
Referenzen im InspectorEine Komponente abrufenFehlende KomponentenEine Komponente hinzufügenRequireComponentEin- und AusblendenRückblick: Lichtschalter11Prefabs und Erzeugen von Instanzen
Prefabs und InstantiateNach Zeitintervall erzeugenIn einem Raster erzeugenListen von ObjektenDas Neueste zurücknehmenZerstörenZufälliges ErzeugenRückblick: Feuerwerk14Abschließende Herausforderungen
MünzmagnetDie Straße überquerenStraßenverkehrTurmbauerLanden oder verfehlen3Der Inspector
Inspector-FelderSerializeFieldFließkommazahlen und MathfInspector-AttributeRückblick: Aufzug6Transformationen und Hierarchie
Eltern und KinderHisse die FlaggeSkalierungDinge anschauenAuf einen Punkt zubewegenRückblick: Mond in Umlaufbahn9Projekt: Fang den Stern
Der FängerEin fallender Stern12Der Lebenszyklus eines Skripts
Awake und StartUpdate und LateUpdateOnEnable und OnDisableDie Reihenfolge im LebenszyklusRückblick: Lifecycle LoggerÜbe selbstständig: Unity-Playground