Menu
CoddyTech

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.

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