Menu
CoddyTech

Deux systèmes d’entrée

Fait partie de la section Créer de vrais jeux du Journey Unity de Coddy. Leçon 43 sur 56.

Unity propose deux façons de lire les entrées du clavier et de la souris. Celle que vous avez utilisée jusqu’ici est le gestionnaire d’entrées : la classe Input avec GetKey, GetAxis et GetButtonDown, ainsi que les axes et boutons nommés dans Project Settings > Input Manager. La plus récente est le package Input System (com.unity.inputsystem). Ses scripts commencent par using UnityEngine.InputSystem;, et il lit les périphériques sous forme d’objets, tels que Keyboard.current et Mouse.current, et par l’intermédiaire d’actions : des actions nommées effectuées par le joueur, comme Move et Jump, chacune associée à des touches, des sticks et des boutons.

Le choix du système utilisé par un projet se fait dans les paramètres Player : Edit > Project Settings > Player > Other Settings > Active Input Handling, avec trois options : Input Manager (Old), Input System Package (New) et Both. Un nouveau projet Unity 6 démarre avec Input System Package (New), et dans ce cas, chaque appel à la classe Input déclenche une InvalidOperationException indiquant que vous lisez les entrées via UnityEngine.Input alors que le projet utilise le package Input System. C’est pourquoi les leçons précédentes vous ont demandé de choisir Both. Pour modifier ce paramètre, vous devez redémarrer l’éditeur, ce que Unity vous propose de faire.

Unity 6 démarre avec le nouveau système, car une seule API permet de gérer les claviers, les souris, les manettes, les écrans tactiles et les contrôleurs XR, et parce que les actions permettent de ne pas intégrer les touches dans le code : un script lit l’action Jump, et la même ligne fonctionne pour la barre d’espace, le bouton A d’une manette ou un bouton à l’écran d’un téléphone, ainsi que pour un joueur qui remappe la touche. L’ancien gestionnaire d’entrées reste disponible pour les projets plus anciens. La vue de jeu de Coddy se comporte comme Both, de sorte que les touches, les clics et le pavé du téléphone (flèches et Jump) sont transmis aux deux systèmes. Le reste de ce chapitre utilise l’Input System.

Essayez vous-même

Cette leçon ne comprend pas de défi de code.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Créer de vrais jeux