RequireComponent
Część sekcji Podstawy skryptów w Unity ścieżki Unity w Coddy. Lekcja 33 z 67.
[RequireComponent(typeof(Rigidbody))], umieszczony nad klasą skryptu, informuje Unity, że skrypt nie może działać bez komponentu Rigidbody na tym samym obiekcie:
[RequireComponent(typeof(Rigidbody))]
public class Jumper : MonoBehaviour
{
Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
}Unity reaguje na ten atrybut, gdy skrypt zostanie dodany do obiektu — w Inspectorze lub za pomocą AddComponent: jeśli obiekt nie ma komponentu Rigidbody, Unity go dodaje. Gdy skrypt Jumper znajduje się na obiekcie, Inspector nie pozwala usunąć tego komponentu Rigidbody. Dlatego GetComponent zawsze go tutaj znajduje, a skrypt Jumper nie wymaga żadnego sprawdzenia.
Atrybut nie działa wstecz: obiekty, do których skrypt Jumper został dodany przed napisaniem tej linijki, nie otrzymają komponentu Rigidbody, dopóki skrypt nie zostanie usunięty i dodany ponownie. Jeden atrybut może wskazywać maksymalnie trzy typy, jak w [RequireComponent(typeof(Rigidbody), typeof(BoxCollider))], a klasa może mieć kilka takich atrybutów.
Spróbuj swoich sił
Ta lekcja nie zawiera wyzwania z kodem.
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
1Twój pierwszy skrypt
Witaj, UnityUmieść sześcianPoruszaj się w każdej klatceObracaj się co sekundęSteruj za pomocą klawiszyPodsumowanie: Prowadź sześcian2Inspektor
Pola inspektoraSerializeFieldLiczby zmiennoprzecinkowe i MathfAtrybuty inspektoraPodsumowanie: Winda5Transformacje i hierarchia
Rodzice i dzieciSkalaPatrz na obiektyPoruszanie się w kierunku punktuPodsumowanie: Księżyc krążący po orbicie3Wejście
Naciśnięty, przytrzymany, zwolnionyOsiePrzyciski o nazwachPrzyciski myszyPowtórka: naładowany skok6Obiekty gry i komponenty
Referencje w InspectorzePobieranie komponentuBrakujące komponentyDodawanie komponentuRequireComponentPokazywanie i ukrywaniePodsumowanie: włącznik światła