Menu
CoddyTech

Hissez le drapeau

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

localPosition peut être lue et modifiée à chaque image, comme position. Un enfant qui doit grimper le long de son parent, une cabine le long d'une tour ou un drapeau le long d'un mât, se déplace selon localPosition et compare sa hauteur locale au sommet, afin de fonctionner quelle que soit la position du parent :

if (transform.localPosition.y < 10)
{
    transform.localPosition += new Vector3(0, 2 * Time.deltaTime, 0);
}

En utilisant plutôt position.y, le sommet se déplacerait dès que le parent serait plus haut ou plus bas.

challenge icon

Défi

Moyen

Hisse le drapeau en haut du mât avec la flèche vers le haut.

  1. Dans Update(), écris if (Input.GetKey(KeyCode.UpArrow) && transform.localPosition.y < 4).
  2. À l’intérieur, ajoute new Vector3(0, climb * Time.deltaTime, 0) à transform.localPosition.

Appuie sur « Jouer » et maintiens la flèche vers le haut : le drapeau monte jusqu’en haut du mât et s’arrête. Puis clique sur « Vérifier ».

Essayez vous-même

using UnityEngine;

public class Hoist : MonoBehaviour
{
    public float climb = 1f;

    void Start()
    {
        transform.localPosition = new Vector3(0.6f, 1, 0);
    }

    void Update()
    {
        // Tant que la flèche vers le haut est maintenue enfoncée, grimper jusqu'à ce que la hauteur par rapport au Ship atteigne 4
    }
}

Toutes les leçons de Les bases du scripting dans Unity

Entraînez-vous par vous-même : Playground Unity