Zwei Eingabesysteme
Teil des Abschnitts Echte Spiele entwickeln der Unity-Journey von Coddy. Lektion 43 von 56.
Unity bietet zwei Möglichkeiten, Tastatur und Maus auszulesen. Die Methode, die du bisher verwendet hast, ist der Input Manager: die Klasse Input mit GetKey, GetAxis und GetButtonDown sowie Achsen und Schaltflächen, die unter Project Settings > Input Manager benannt werden. Die neuere Methode ist das Input System package (com.unity.inputsystem). Seine Skripte beginnen mit using UnityEngine.InputSystem;, und es liest Geräte als Objekte aus, etwa Keyboard.current und Mouse.current, sowie über Actions: benannte Aktionen des Spielers wie Move und Jump, die jeweils an Tasten, Sticks und Schaltflächen gebunden sind.
Welche Methode ein Projekt verwendet, wird in den Player-Einstellungen festgelegt: Edit > Project Settings > Player > Other Settings > Active Input Handling. Es gibt drei Auswahlmöglichkeiten: Input Manager (Old), Input System Package (New) und Both. Ein neues Unity-6-Projekt verwendet standardmäßig Input System Package (New). Dort löst jeder Aufruf der Klasse Input eine InvalidOperationException aus, die besagt, dass du Eingaben über UnityEngine.Input ausliest, während das Projekt das Input System package verwendet. Deshalb haben dich die früheren Lektionen gebeten, Both auszuwählen. Eine Änderung erfordert einen Neustart des Editors, den Unity dir anbietet.
Unity 6 verwendet standardmäßig das neue System, weil eine API Tastaturen, Mäuse, Gamepads, Touchscreens und XR-Controller abdeckt und weil Actions die Tasten aus dem Code heraushalten: Ein Skript liest die Jump-Action aus, und dieselbe Zeile funktioniert für die Leertaste, die A-Taste eines Gamepads oder eine Bildschirmtaste auf einem Smartphone – und auch für Spieler, die die Taste neu belegen. Der alte Input Manager bleibt für ältere Projekte erhalten. Die Spielansicht von Coddy funktioniert wie Both, sodass Tasten, Klicks und das Steuerkreuz auf dem Smartphone (Pfeile und Jump) beide Systeme erreichen. Im restlichen Kapitel verwenden wir das Input System.
Probier es selbst
Diese Lektion enthält keine Programmieraufgabe.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Echte Spiele entwickeln
1Text auf dem Bildschirm
Canvas und TextPunktestand anzeigenZahlen formatierenEin Countdown-TimerRückblick: Tachometer4Szenen und Level
Eine Szene ladenDas Level neu startenNächstes LevelZwischen Szenen beibehaltenRückblick: Levelauswahl10Projekt: 3D-Plattformer
Der ParcoursBewegliche Plattformen2Buttons und Bildschirme
Buttons und onClickLambdasVerknüpfungen im InspectorPanels ein- und ausblendenGesundheitsbalkenRückblick: Upgrade-Shop5Speichern mit PlayerPrefs
Eine Zahl speichernMit einem Standardwert ladenHöchstpunktzahlEinstellungen speichernRückblick: Münzen auf der Bank3Der Spielmanager
Ein Skript steuert das SpielDas SingletonSpielzuständeZum Zustand wechselnRückblick: Rundenmanager6Projekt: Endlos-Runner
Drei SpurenHindernisse voraus9Das neue Eingabesystem
Zwei EingabesystemeTastatur und MausIn diesem Frame gedrücktEingabeaktionenRückblick: Eingabewechsel