Menu
CoddyTech

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.

quiz iconTeste dich selbst

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