Benannte Tasten
Teil des Abschnitts Grundlagen des Scripting in Unity der Unity-Journey von Coddy. Lektion 14 von 67.
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-Tasten sind denselben Namen zugeordnet, und die Tasten lassen sich im Input Manager ändern, ohne den Code anzufassen. GetButton, GetButtonDown und GetButtonUp funktionieren wie GetKey, GetKeyDown und GetKeyUp. Dieser Blaster protokolliert für jedes Drücken von Strg oder jeden 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 dem Ausführen der Zeile nach. Wenn keine Schaltfläche diesen Namen hat, wird in jedem Frame eine Ausnahme ausgelöst: 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
EinfachDer Frosch hüpft, solange die Sprungtaste gedrückt gehalten wird: Beim Drücken von Jump wird er einmal um hop Einheiten angehoben, und beim Loslassen von Jump wird er um denselben Betrag wieder abgesenkt. Der Startercode hebt ihn bereits an, aber sobald das Spiel läuft, wird ein Fehler ausgelöst.
Drücke Play und lies den Fehler in der Console. Behebe ihn, füge das Landen beim Loslassen hinzu und drücke dann Check.
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);
}
}
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen des Scripting in Unity
1Dein erstes Skript
Hallo, UnityPlatziere den WürfelBewege dich in jedem FrameDrehe dich jede SekundeSteuere mit den TastenRückblick: Steuere den Würfel4Vektoren
Vektoren addierenRichtungenLokaler und globaler RaumDiagonale GeschwindigkeitAbstand zwischen ObjektenVector3 ist ein StructRückblick: Drohnenpilot7Projekt: Fang den Stern
Der FängerEin fallender Stern10Der Lebenszyklus eines Skripts
Awake und StartUpdate und LateUpdateOnEnable und OnDisableDie Reihenfolge im LebenszyklusRückblick: Lifecycle Logger5Transformationen und Hierarchie
Eltern und KinderSkalierungDinge ansehenAuf einen Punkt zubewegenRückblick: Umlaufender Mond8Dinge finden
Nach Namen findenTagsNach Typ findenReferenzen schlagen FindUnitys NullRückblick: Nächste Münze11Projekt: Weiche den Blöcken aus
Der LäuferFallende Blöcke6GameObjects und Komponenten
Referenzen im InspectorEine Komponente abrufenFehlende KomponentenEine Komponente hinzufügenRequireComponentEin- und AusblendenRückblick: Lichtschalter