Menu
CoddyTech

Boutons nommés

Fait partie de la section Les bases du scripting dans Unity du Journey Unity de Coddy. Leçon 14 sur 67.

En plus des touches, Unity possède des boutons : des noms répertoriés dans l’Input Manager (Edit, Project Settings, Input Manager), chacun associé à une ou plusieurs touches. Input.GetButtonDown("Fire1") interroge le nom, pas une touche. Un nouveau projet en possède déjà :

  • "Jump" : barre d’espace
  • "Fire1" : Ctrl gauche ou bouton gauche de la souris
  • "Fire2" : Alt gauche ou bouton droit de la souris
  • "Submit" et "Cancel" : Entrée et Échap

Les boutons de manette sont associés aux mêmes noms, et les touches peuvent être modifiées dans l’Input Manager sans toucher au code. GetButton, GetButtonDown et GetButtonUp fonctionnent comme GetKey, GetKeyDown et GetKeyUp. Ce blaster enregistre un tir à chaque pression sur Ctrl ou clic :

void Update()
{
    if (Input.GetButtonDown("Fire1"))
    {
        Debug.Log("Shot!");
    }
}

Le nom est une chaîne de caractères, donc un nom mal orthographié est quand même compilé. Unity le recherche lorsque la ligne s’exécute ; si aucun bouton ne porte ce nom, une erreur est générée à chaque image : ArgumentException: Input Button Fier1 is not setup. Lorsque tu vois ce message, compare le nom dans ton code avec la liste de l’Input Manager.

challenge icon

Défi

Facile

La grenouille bondit tant que le bouton Jump est maintenu : appuyer sur Jump la soulève de hop unités une fois, et relâcher Jump la fait redescendre de la même distance. Le code de départ effectue déjà le saut, mais provoque une erreur dès que le jeu démarre.

Appuie sur Play et lis l’erreur dans la Console. Corrige-la, ajoute l’atterrissage au relâchement, puis appuie sur Check.

Essayez vous-même

using UnityEngine;

public class Hopper : MonoBehaviour
{
    public float hop = 1.5f;

    void Update()
    {
        if (Input.GetButtonDown("Jumpp"))
        {
            transform.position += new Vector3(0, hop, 0);
        }
    }
}
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 Les bases du scripting dans Unity