Các thành phần cơ bản trong Unity: Component
Component là một trong nhiều thành phần cơ bản của Unity. Vì thế, hiểu và làm việc với component là yêu cầu thiết yếu cho lập trình viên.
Tổng quát
Component là những thành phần có chức năng riêng biệt, được gán vào một hoặc nhiều Game Object . Component bổ sung, cấu thành chức năng cho Game Object. Từ đó, giúp chúng ta xây dựng lên những Game Object theo từng yêu cầu của game.
Mỗi script kế thừa từ lớp MonoBehaviour đều được coi là một component. Mỗi Game Object cơ bản đều được gán sẵn một component cơ bản là Transform.
Ví dụ: Một chiếc xe hơi được cấu tạo từ nhiều component là hệ thống điều khiển, động cơ, bánh xe, nội thất,..
Làm việc với Component
Tại Inspector của mỗi Game Object đều có chức năng là Add Component cho phép bạn gán những component đang có trong project vào nó.
Đó là trên Editor, vậy nếu muốn gán hoặc lấy một component trên một Game Object qua scripts có được không? Câu trả lời là có.
- GetComponent: Trả về kiểu của component nếu nó được gán trên GameObject, null nếu GameObject đó không có.
- GetComponentInChildren: Tương tự như GetComponent nhưng sẽ trả về các Component được gán trên Children Object của GameObject đó.
- GetComponentInParent: Tương tự như GetComponent nhưng sẽ trả về các Component được gán trên Parent Object của GameObject đó.
Ví dụ: Mình có một GameObject được gán hai component là Rigidbody2D và Unit. Ở ảnh dưới, các bạn sẽ thấy phần Rigid2D của Unit đang là None.
Bây giờ mình trong scripts Unit, mình sẽ lấy component “Rigidbody 2D” và thay đổi giá trị “mass” của nó.
public class Unit : MonoBehaviour
{
public Rigidbody2D rigid2D;
private void Start()
{
rigid2D = GetComponent<Rigidbody2D>();
if (rigid2D != null)
{
rigid2D.mass = 2f;
}
}
}
Và đây là kết quả:
Tổng kết
Mình đã giới thiệu khái quát một thành phần rất quan trọng của Unity. Nếu các bạn muốn tham khảo thêm về Component thì hay truy cập link.