Menu
CoddyTech

RequireComponent

Parte de la sección Fundamentos de scripting en Unity del Journey de Unity de Coddy. Lección 33 de 67.

[RequireComponent(typeof(Rigidbody))], escrito encima de la clase de un script, le indica a Unity que el script no puede funcionar sin un Rigidbody en el mismo objeto:

[RequireComponent(typeof(Rigidbody))]
public class Jumper : MonoBehaviour
{
    Rigidbody rb;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }
}

Unity actúa cuando se añade el script a un objeto, desde el Inspector o con AddComponent: si el objeto no tiene un Rigidbody, Unity añade uno. Mientras Jumper esté en el objeto, el Inspector no permite eliminar ese Rigidbody. Así que GetComponent siempre encuentra uno, y Jumper no necesita ninguna comprobación.

El atributo no tiene efecto retroactivo: los objetos que ya tenían Jumper antes de que se escribiera la línea no reciben un Rigidbody hasta que se elimina y se vuelve a añadir el script. Un atributo puede indicar hasta tres tipos, como en [RequireComponent(typeof(Rigidbody), typeof(BoxCollider))], y una clase puede tener varios de ellos.

Pruébalo tú mismo

Esta lección no incluye un desafío de código.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos de scripting en Unity