Menu
CoddyTech

Attrape-la

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

challenge icon

Défi

Moyen

Attrape l’étoile. Ajoute un score qui commence à 0. Lorsque l’étoile se rapproche à moins de 1 unité du receveur (mesure avec Vector3.Distance), l’étoile est attrapée :

  • ajoute 1 à score,
  • affiche Caught! Score: 1, avec le nouveau score,
  • déplace l’étoile vers le haut jusqu’à y = 6, en conservant ses valeurs x et z, afin qu’elle retombe.

Pour l’instant, une étoile qui manque le receveur continue de tomber. Conserve tout ce qui a été fait dans les étapes précédentes.

Essayez vous-même

using UnityEngine;

public class Catcher : MonoBehaviour
{
    [SerializeField] private float speed = 6f;
    [SerializeField] private Transform star;
    [SerializeField] private float fallSpeed = 3f;

    void Update()
    {
        float x = transform.position.x;
        if (Input.GetKey(KeyCode.RightArrow))
        {
            x += speed * Time.deltaTime;
        }
        if (Input.GetKey(KeyCode.LeftArrow))
        {
            x -= speed * Time.deltaTime;
        }
        x = Mathf.Clamp(x, -4f, 4f);
        transform.position = new Vector3(x, transform.position.y, transform.position.z);

        star.position += Vector3.down * fallSpeed * Time.deltaTime;
    }
}

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