Menu
CoddyTech

Due sistemi di input

Fa parte della sezione Creare veri giochi del percorso Unity di Coddy. Lezione 43 di 56.

Unity ha due modi per leggere la tastiera e il mouse. Quello che hai usato finora è l'Input Manager: la classe Input con GetKey, GetAxis e GetButtonDown, e gli assi e i pulsanti denominati in Project Settings > Input Manager. Quello più recente è il pacchetto Input System (com.unity.inputsystem). I suoi script iniziano con using UnityEngine.InputSystem; e legge i dispositivi come oggetti, ad esempio Keyboard.current e Mouse.current, e tramite le azioni: azioni denominate che il giocatore compie, come Move e Jump, ciascuna associata a tasti, levette e pulsanti.

Quale dei due sistemi usa un progetto dipende da un'impostazione del Player: Edit > Project Settings > Player > Other Settings > Active Input Handling, con tre opzioni: Input Manager (Old), Input System Package (New) e Both. Un nuovo progetto Unity 6 usa inizialmente Input System Package (New) e, in quel caso, ogni chiamata alla classe Input genera un'InvalidOperationException che indica che stai leggendo l'input tramite UnityEngine.Input mentre il progetto usa il pacchetto Input System. Ecco perché nelle lezioni precedenti ti è stato chiesto di scegliere Both. Per applicare la modifica è necessario riavviare l'editor, cosa che Unity offre di fare.

Unity 6 usa il nuovo sistema perché un'unica API supporta tastiere, mouse, gamepad, touchscreen e controller XR, e perché le azioni tengono i tasti fuori dal codice: uno script legge l'azione Jump e la stessa riga funziona con la barra spaziatrice, il pulsante A di un gamepad o un pulsante sullo schermo di un telefono, anche se un giocatore riassegna il tasto. Il vecchio Input Manager resta disponibile per i progetti meno recenti. La vista di gioco di Coddy funziona come Both, quindi i tasti, i clic e il pad del telefono (frecce e Jump) raggiungono entrambi i sistemi. Il resto di questo capitolo usa l'Input System.

Provalo tu

Questa lezione non include una sfida di codice.

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Creare veri giochi