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.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Creare veri giochi
1Testo sullo schermo
Canvas e testoMostra il punteggioFormattare i numeriUn timer per il conto alla rovesciaRiepilogo: tachimetro4Scene e livelli
Caricare una scenaRiavviare il livelloLivello successivoMantenere i dati tra le sceneRiepilogo: selezione del livello10Progetto: Platform 3D
Il percorsoPiattaforme mobili2Pulsanti e schermate
Pulsanti e onClickLambdaCollegare nell'InspectorPannelli attivi e disattiviBarre della saluteRiepilogo: negozio degli upgrade5Salvare con PlayerPrefs
Salvare un numeroCaricare con un valore predefinitoPunteggio massimoSalvare le impostazioniRiepilogo: monete in banca8Controller del personaggio
CharacterController.MoveGravità manualeSaltoSpingere gli oggettiMuoviti dove guardiRiepilogo: doppio salto3Il gestore del gioco
Uno script gestisce il giocoIl SingletonStati di giocoSelezionare lo statoRiepilogo: gestore del round6Progetto: Corsa infinita
Tre corsieOstacoli in arrivo9Il nuovo sistema di input
Due sistemi di inputTastiera e mousePremuto in questo frameAzioni di inputRiepilogo: cambio di input