Accueil logo MakeYourGame gachetteG gachetteD paddleG paddleH paddleD paddleB buttonG buttonH buttonD buttonB

Découverte de la classe Input de Unity

Documentation

Retrouvez les premières méthodes statiques de la classe Input de Unity

5 min Débutant

La classe Input est un point central dans l'API de Unity, car elle permet de gérer l'ensemble du sytème d'entrée utilisateur. 

Comprenez par là l'utilisation du clavier, de la souris, ou encore d'un joystick. Mais pas que !

On peut aussi détecter et récupérer les valeurs de l'accéléromètre d'un smartphone https://makeyourgame.fun/sceditor/emoticons/smile.png

Nous nous limiterons ici à l'utilisation des méthodes des claviers et souris. D'autres tutoriels ou Ateliers seront dédiés aux Input spécifiquement pour mobiles.

Méthodes de gestion du clavier

On retrouve ici les méthodes suivantes:

                         
  • GetKey: appui maintenu
  •                          
  • GetKeyDown: on enfonce la touche
  •                          
  • GetyKeyUp: on relâche la touche
  •                

Toutes ces méthodes ont le même type de signature !

En effet chacune d'elle, attend en paramètre la touche clavier que vous souhaitez surveiller. Dans Unity, cela prend la forme d'un Objet de type KeyCode.

KeyCode.Space
KeyCode.A
KeyCode.UpArrow...

Ainsi si on veut surveiller par exemple, l'appui maintenu sur la touche V du clavier, il faudra écrire en C#:

if(Input.GetKey(KeyCode.V){    
     //le code que vous souhaitez !
}

Pour que cela fonctionne tout le temps, il faut placer ce bout de code dans la méthode Update d'un script qui hérite bien sûr de MonoBehaviour.

void Update()
{
      if(Input.GetKey(KeyCode.V){
          //le code que vous souhaitez !
         Debug.Log(" appui sur touche V ! On lui fait faire quoi à notre perso ?");
     }
}

L'utilisation des méthodes GetKeyDown et GetKeyUp est similaire.

Méthodes de gestion de la souris

On va ici retrouver la même idée que pour les touches clavier, à savoir trois méthodes. En effet pour les boutons de la souris, on doit pouvoir savoir si le bouton est enfoncé, maintenu, juste enfoncé, ou relâché.

           
  • GetMouseButton: bouton maintenu enfoncé
  •          
  • GetMouseButtonDown: bouton enfoncé
  •          
  • GetMouseButtonUp: bouton relâché
  •      

Mais sur une souris, on a aussi plusieurs boutons possibles. Pour une souris simple nous avons le clic gauche, clic centre et clic droite.

Sachez que certaines souris dispose de bien plus de boutons.

Donc pour détecter quel bouton est utilisé, l'API de Unity propose d'utiliser un entier (0, 1, 2) pour indiquer l'indice du bouton.

Ainsi très facilement en C# nous écrirons:

void Update()
{
      if(Input.GetMouseButton(0){
          //le code que vous souhaitez !
         Debug.Log(" clic gauche souris !");
     }
    if(Input.GetMouseButton(1){
          //le code que vous souhaitez !
         Debug.Log(" clic droit souris !");
     }
    if(Input.GetMouseButton(2){
          //le code que vous souhaitez !
         Debug.Log(" clic milieu souris !");
     }
}
Retrouvez les Ateliers dédiés aux Input et InputManager pour aller encore plus loin, et étudier comment déplacer un personnage avec les touches de son clavier.

Il reste encore beaucoup à traiter sur les Input, aussi restez connectés.ées https://makeyourgame.fun/sceditor/emoticons/smile.png.

Vues: 223

Connectez-vous pour applaudir applause logo 3 claps

Validation du Tutoriel

Veuillez vous connecter ou créer un compte pour pouvoir valider ce tutoriel et ainsi gagner stardust et XP !

×