Menu
CoddyTech

Ripasso: la moneta più vicina

Fa parte della sezione Fondamenti di scripting in Unity del percorso Unity di Coddy. Lezione 61 di 85.

Questo riepilogo mette insieme il capitolo: una ricerca per tag nel momento in cui serve, un ciclo su ciò che trova e la distanza da ciascun elemento.

challenge icon

Sfida

Medio

Dai al giocatore un radar per le monete: premendo Spazio viene indicata la moneta più vicina.

  1. Quando premi Spazio, inizia con GameObject nearest = null; e float best = Mathf.Infinity;.
  2. Per ogni moneta in GameObject.FindGameObjectsWithTag("Coin"), mantienila se la sua distanza dal giocatore è inferiore a best.
  3. Registra "Nearest coin: " + nearest.name.

Premi «Gioca», muoviti e premi Spazio: la Console mostra Nearest coin: Silver. Poi premi «Verifica».

Provalo tu

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 nel log il nome della moneta più vicina.
    }
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti di scripting in Unity

Esercitati da solo: Playground Unity