Dirigez avec les touches
Fait partie de la section Les bases du scripting dans Unity du Journey Unity de Coddy. Leçon 5 sur 67.
Input.GetKey(KeyCode.Space) vaut true à chaque image tant que la barre d’espace est maintenue enfoncée, et false sinon. Vérifie cette valeur dans Update() et ne déplace l’objet que si elle est positive : le joueur contrôle alors l’objet.
Cette caisse s’élève à une vitesse de lift unités par seconde tant que la barre d’espace est maintenue enfoncée. Time.deltaTime permet de conserver une vitesse par seconde, comme dans la leçon précédente :
public float lift = 2f;
void Update()
{
if (Input.GetKey(KeyCode.Space))
{
transform.position += new Vector3(0, lift * Time.deltaTime, 0);
}
}Chaque touche a un KeyCode : KeyCode.UpArrow, KeyCode.W, KeyCode.Return, etc. Clique d’abord sur la vue de jeu pour que les touches lui soient transmises. Remarque concernant Unity 6 : les nouveaux projets utilisent le nouveau Input System, et Input.GetKey y provoque une erreur jusqu’à ce que Active Input Handling (Project Settings, Player) soit défini sur Both.
Défi
FacileFais diriger le cube par le joueur : lorsque la flèche droite est maintenue enfoncée, il se déplace vers la droite (le long de +x) à une vitesse de speed unités par seconde, et lorsque la flèche gauche est maintenue enfoncée, il se déplace vers la gauche à la même vitesse. Si aucune touche n’est maintenue enfoncée, il reste immobile.
Appuie sur Play, clique sur le jeu et essaie les flèches, puis clique sur Check.
Essayez vous-même
using UnityEngine;
public class Steering : MonoBehaviour
{
public float speed = 4f;
void Update()
{
// Flèche droite : se déplacer vers la droite. Flèche gauche : se déplacer vers la gauche.
}
}
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
1Votre premier script
Bonjour, UnityPlacez le cubeBouger à chaque imageTourner chaque secondeDirigez avec les touchesRécapitulatif : conduisez le cube4Vecteurs
Addition de vecteursDirectionsEspaces local et mondeVitesse diagonaleDistance entre les objetsVector3 est une structRécapitulatif : pilote de drone7Projet : Attrape l’étoile
L’attrapeurUne étoile qui tombe2L’inspecteur
Champs de l’inspecteurSerializeFieldNombres flottants et MathfAttributs de l’inspecteurRécapitulatif : ascenseur5Transformations et hiérarchie
Parents et enfantsÉchelleRegarder les objetsSe déplacer vers un pointRécapitulatif : Lune en orbite8Rechercher des objets
Rechercher par nomTagsRechercher par typeLes références plutôt que FindLe null de UnityRécapitulatif : la pièce la plus proche11Projet : Esquivez les blocs
Le coureurBlocs qui tombent6GameObjects et composants
Références dans l’InspectorObtenir un composantComposants manquantsAjouter un composantRequireComponentAfficher et masquerRécapitulatif : interrupteur