Menu
CoddyTech

RequireComponent

Thuộc phần Những kiến thức cơ bản về lập trình trong Unity trong hành trình Unity của Coddy. Bài học 47 trên 85.

[RequireComponent(typeof(Rigidbody))], được viết phía trên lớp của script, cho Unity biết rằng script không thể hoạt động nếu cùng đối tượng không có Rigidbody:

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

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

Unity áp dụng thuộc tính này khi bạn thêm script vào một đối tượng trong Inspector hoặc bằng AddComponent: nếu đối tượng chưa có Rigidbody, Unity sẽ thêm một thành phần. Khi Jumper còn gắn trên đối tượng, Inspector không cho phép bạn xóa Rigidbody đó. Vì vậy, GetComponent ở đây luôn tìm thấy một Rigidbody và Jumper không cần kiểm tra.

Thuộc tính này không áp dụng ngược lại: những đối tượng đã có Jumper trước khi bạn viết dòng đó sẽ không có Rigidbody cho đến khi bạn xóa script rồi thêm lại. Một thuộc tính có thể chỉ định tối đa ba kiểu, như trong [RequireComponent(typeof(Rigidbody), typeof(BoxCollider))], và một lớp có thể có nhiều thuộc tính như vậy.

Tự làm thử

Bài học này không có thử thách code.

Tất cả bài học trong Những kiến thức cơ bản về lập trình trong Unity

Tự luyện tập: Playground Unity