Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Système d'Entrée | Écrivez Votre Premier Script
Unity pour Débutants

book
Système d'Entrée

Parlons du système d'entrée de Unity, qui vous aide à capturer tout, des pressions sur le clavier aux inclinaisons du joystick, et à les transformer en actions de jeu passionnantes.

Comprendre les méthodes clés

  • Input.GetAxis;

  • Input.GetButton;

  • Input.GetKey.

Ces trois méthodes sont vos principaux outils pour capturer les entrées utilisateur dans Unity. Explorons leurs forces, faiblesses et cas d'utilisation idéaux :

Input.GetAxis

  • Objectif : lit l'amplitude et la direction d'un dispositif d'entrée basé sur un axe, tel qu'un joystick analogique, les touches du clavier (WASD) ou le mouvement de la souris ;

  • Renvoie : une valeur entre -1 (plein négatif) et 1 (plein positif). 0 indique aucune entrée, les valeurs positives représentent un mouvement positif sur l'axe, et les valeurs négatives représentent un mouvement négatif ;

  • Applications : utile pour des actions continues comme le mouvement, la direction, la rotation de la caméra ou les changements progressifs d'intensité (par exemple, accélérer une voiture progressivement).

Exemple : Capture le mouvement gauche/droite sur un clavier ou un joystick.

cs
private void Update()
{
float horizontalInput = Input.GetAxis("Horizontal");
}

Input.GetButton

  • But: détecte si un bouton discret (par exemple, la barre d'espace du clavier, le bouton A de la manette, le tapotement de l'écran tactile) est maintenu enfoncé (true) ou non (false);

  • Retourne: une valeur booléenne (true ou false);

  • Applications: idéal pour activer des actions comme sauter, tirer une arme, utiliser une capacité ou activer des menus.

Exemple : vérifie si le bouton de saut est enfoncé.

cs
private void Update()
{
bool isJumping = Input.GetButton("Jump");
}

Input.GetKey

  • But: détecte si une touche spécifique du clavier est maintenue enfoncée (true) ou non (false);

  • Renvoie: une valeur booléenne (true ou false);

  • Applications: principalement utilisé pour les contrôles basés sur le clavier, pour des actions comme la gestion de l'inventaire, les raccourcis clavier ou les capacités des personnages.

Exemple : vérifie si la touche Maj est maintenue enfoncée.

cs
private void Update()
{
bool isShiftPressed = Input.GetKey(KeyCode.LeftShift);
}

Choisir la bonne méthode d'entrée

Choisir la méthode d'entrée correcte est crucial pour créer un gameplay intuitif et réactif. Voici un guide rapide :

  • Utilisez Input.GetAxis pour un contrôle continu et sensible à la direction, comme le mouvement du personnage ou la rotation de la caméra ;

  • Utilisez Input.GetButton pour des actions simples de bascule marche/arrêt, comme sauter ou tirer une arme ;

  • Utilisez Input.GetKey pour des contrôles spécifiques au clavier, idéal pour des actions comme la gestion de l'inventaire ou l'activation de raccourcis clavier.

Rappelez-vous :

  • Efficacité : évitez d'appeler ces méthodes à chaque frame inutilement, car cela peut affecter les performances. Utilisez plutôt des vérifications conditionnelles ou une gestion basée sur des événements lorsque c'est possible ;

  • Expérimentation : essayez différentes combinaisons et découvrez ce qui fonctionne le mieux pour le design de votre jeu et votre public cible ;

L'expérimentation vous aidera à trouver les contrôles les plus intuitifs et réactifs.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 5

Demandez à l'IA

expand
ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

some-alt