Menu
CoddyTech

Powtórka: najbliższa moneta

Część sekcji Podstawy skryptów w Unity ścieżki Unity w Coddy. Lekcja 61 z 85.

To podsumowanie łączy cały rozdział: wyszukiwanie według tagu w chwili, gdy jest potrzebne, pętlę przechodzącą przez znalezione obiekty oraz odległość do każdego z nich.

challenge icon

Wyzwanie

Średni

Daj graczowi radar monet: naciśnięcie spacji wyświetla nazwę najbliższej monety.

  1. Po naciśnięciu spacji zacznij od GameObject nearest = null; i float best = Mathf.Infinity;.
  2. Dla każdej monety w GameObject.FindGameObjectsWithTag("Coin") zachowaj ją, jeśli jej odległość od gracza jest mniejsza niż best.
  3. Wyświetl w konsoli "Nearest coin: " + nearest.name.

Naciśnij „Graj”, jedź i naciśnij spację: w konsoli pojawi się Nearest coin: Silver. Następnie naciśnij „Sprawdź”.

Spróbuj swoich sił

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: wypisz w logu nazwę najbliższej monety.
    }
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy skryptów w Unity

Poćwicz samodzielnie: Edytor online Unity