Benannte Tasten
Teil des Abschnitts Unity-Scripting: Grundlagen der Unity-Journey von Coddy. Lektion 21 von 85.
Neben Tasten gibt es in Unity Schaltflächen: Namen, die im Input Manager (Edit, Project Settings, Input Manager) aufgeführt sind und jeweils einer oder mehreren Tasten zugeordnet sind. Input.GetButtonDown("Fire1") fragt nach dem Namen, nicht nach einer Taste. Ein neues Projekt enthält diese:
"Jump": Leertaste"Fire1": linke Strg-Taste oder linke Maustaste"Fire2": linke Alt-Taste oder rechte Maustaste"Submit"und"Cancel": Eingabetaste und Esc
Gamepad-Schaltflächen sind denselben Namen zugeordnet, und die Tasten können im Input Manager geändert werden, ohne den Code anzufassen. GetButton, GetButtonDown und GetButtonUp funktionieren wie GetKey, GetKeyDown und GetKeyUp. Dieser Blaster protokolliert bei jedem Drücken von Strg oder jedem Klick einen Schuss:
void Update()
{
if (Input.GetButtonDown("Fire1"))
{
Debug.Log("Shot!");
}
}Der Name ist eine Zeichenfolge, daher wird ein falsch geschriebener Name trotzdem kompiliert. Unity sucht ihn nach, wenn die Zeile ausgeführt wird. Wenn keine Schaltfläche diesen Namen hat, wirft Unity in jedem Frame eine Ausnahme: ArgumentException: Input Button Fier1 is not setup. Wenn du diese Meldung siehst, vergleiche den Namen in deinem Code mit der Liste im Input Manager.
Aufgabe
EinfachBehebe den Hopser des Frosches und lass ihn wieder landen.
- Drücke „Spielen“: In der Console wird ein Fehler zur Schaltfläche
"Jumpp"angezeigt. Ändere sie zu"Jump". - Füge ein zweites
iffürInput.GetButtonUp("Jump")hinzu, dasnew Vector3(0, hop, 0)vontransform.positionabzieht.
Drücke „Spielen“, halte die Leertaste gedrückt und lass sie los: Der Frosch hüpft nach oben und landet dann wieder. Klicke anschließend auf „Prüfen“.
Probier es selbst
using UnityEngine;
public class Hopper : MonoBehaviour
{
public float hop = 1.5f;
void Update()
{
if (Input.GetButtonDown("Jumpp"))
{
transform.position += new Vector3(0, hop, 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