Menu
CoddyTech

Atterrir ou rater

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

Ce défi termine le jeu de la tour et la première section du cours : une grue, un bloc qui tombe et un test d’atterrissage avec Mathf.Abs.

challenge icon

Défi

Difficile

Fais atterrir chaque bloc sur la pile ou tomber à côté.

  1. Lorsque le bloc qui tombe arrive à la hauteur y + 1 de top et se trouve à moins de 1 de la coordonnée x de top, définis sa coordonnée y à cette valeur exacte, fais-en top, vide falling et journalise "Stack: " + count.
  2. Sinon, sous y = -3, détruis-le, vide falling et journalise Missed!.

Appuie sur « Jouer » et empile les blocs : chaque atterrissage journalise la hauteur. Puis clique sur « Vérifier ».

Essayez vous-même

using UnityEngine;

public class Crane : MonoBehaviour
{
    [SerializeField] private GameObject blockPrefab;
    [SerializeField] private Transform top;
    [SerializeField] private float craneSpeed = 3f;
    [SerializeField] private float craneEdge = 4f;
    [SerializeField] private float fallSpeed = 7f;

    private float direction = 1f;
    private Transform falling;
    private int stack;

    void Update()
    {
        transform.position += new Vector3(direction * craneSpeed * Time.deltaTime, 0f, 0f);
        if (transform.position.x > craneEdge) direction = -1f;
        if (transform.position.x < -craneEdge) direction = 1f;

        bool drop = Input.GetKeyDown(KeyCode.Space) || Input.GetMouseButtonDown(0);
        if (drop && falling == null)
        {
            Vector3 spot = new Vector3(transform.position.x, transform.position.y - 1f, 0f);
            falling = Instantiate(blockPrefab, spot, Quaternion.identity).transform;
        }

        if (falling != null)
        {
            falling.position += Vector3.down * fallSpeed * Time.deltaTime;
            // Atterrissage sur la pile : la prochaine leçon.
        }
    }
}
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

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