RequireComponent
Fa parte della sezione Fondamenti di scripting in Unity del percorso Unity di Coddy. Lezione 33 di 67.
[RequireComponent(typeof(Rigidbody))], scritto sopra la classe di uno script, comunica a Unity che lo script non può funzionare senza un Rigidbody sullo stesso oggetto:
[RequireComponent(typeof(Rigidbody))]
public class Jumper : MonoBehaviour
{
Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
}Unity interviene quando lo script viene aggiunto a un oggetto, nell'Inspector o con AddComponent: se l'oggetto non ha un Rigidbody, Unity ne aggiunge uno. Finché Jumper è sull'oggetto, l'Inspector impedisce di rimuovere quel Rigidbody. Quindi GetComponent qui ne trova sempre uno e Jumper non ha bisogno di alcun controllo.
L'attributo non agisce retroattivamente: gli oggetti che avevano già Jumper prima che la riga fosse scritta non ricevono un Rigidbody finché lo script non viene rimosso e aggiunto di nuovo. Un attributo può indicare fino a tre tipi, come in [RequireComponent(typeof(Rigidbody), typeof(BoxCollider))], e una classe può averne diversi.
Provalo tu
Questa lezione non include una sfida di codice.
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
1Il tuo primo script
Ciao, UnityPosiziona il cuboMuovi a ogni frameRuota ogni secondoGuida con i tastiRiepilogo: guida il cubo4Vettori
Sommare vettoriDirezioniSpazio locale e spazio globaleVelocità diagonaleDistanza tra gli oggettiVector3 è una structRiepilogo: pilota di droni7Progetto: Acchiappa la stella
L'acchiappatoreUna stella cadente10Il ciclo di vita degli script
Awake e StartUpdate e LateUpdateOnEnable e OnDisableL’ordine del ciclo di vitaRipasso: logger del ciclo di vita2L'Inspector
Campi dell'InspectorSerializeFieldNumeri decimali e MathfAttributi dell'InspectorRiepilogo: Ascensore5Trasformazioni e gerarchia
Genitori e figliScalaGuarda gli oggettiMuoversi verso un puntoRiepilogo: Luna in orbita6Oggetti di gioco e componenti
Riferimenti nell’InspectorOttenere un componenteComponenti mancantiAggiungere un componenteRequireComponentMostrare e nascondereRipasso: interruttore della luce