Menu
CoddyTech

Repaso: moneda más cercana

Parte de la sección Fundamentos de scripting en Unity del Journey de Unity de Coddy. Lección 61 de 85.

Este repaso reúne el capítulo: una búsqueda por etiqueta en el momento en que se necesita, un bucle sobre lo que encuentra y la distancia a cada uno.

challenge icon

Desafío

Intermedio

Dale al jugador un radar de monedas: al pulsar la barra espaciadora, se indica la moneda más cercana.

  1. Al pulsar la barra espaciadora, empieza con GameObject nearest = null; y float best = Mathf.Infinity;.
  2. Para cada moneda en GameObject.FindGameObjectsWithTag("Coin"), consérvala si su distancia al jugador es menor que best.
  3. Registra "Nearest coin: " + nearest.name.

Pulsa «Jugar», muévete y pulsa la barra espaciadora: la consola muestra Nearest coin: Silver. Después, pulsa «Comprobar».

Pruébalo tú mismo

using UnityEngine;

public class CoinRadar : MonoBehaviour
{
    [SerializeField] private float speed = 4f;

    void Update()
    {
        if (Input.GetKey(KeyCode.RightArrow))
        {
            transform.position += new Vector3(speed * Time.deltaTime, 0, 0);
        }
        if (Input.GetKey(KeyCode.LeftArrow))
        {
            transform.position -= new Vector3(speed * Time.deltaTime, 0, 0);
        }
        if (Input.GetKey(KeyCode.UpArrow))
        {
            transform.position += new Vector3(0, 0, speed * Time.deltaTime);
        }
        if (Input.GetKey(KeyCode.DownArrow))
        {
            transform.position -= new Vector3(0, 0, speed * Time.deltaTime);
        }

        // Space: registra el nombre de la moneda más cercana.
    }
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos de scripting en Unity

Practica por tu cuenta: Playground de Unity