Thứ tự vòng đời
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 73 trên 85.
Unity gọi các phương thức trong script theo một thứ tự cố định, từ lúc đối tượng xuất hiện đến lúc bị hủy:
Awake(): một lần, khi đối tượng được tải hoặc khởi tạo.OnEnable(): ngay sau đó, rồi lặp lại mỗi khi đối tượng được hiển thị.Start(): một lần, trước khung hình đầu tiên của script.FixedUpdate(): theo đồng hồ vật lý, mặc định 50 lần mỗi giây, vì vậy có thể chạy 0, một hoặc vài lần trong một khung hình, luôn trướcUpdate()của khung hình đó.Update(): một lần mỗi khung hình.LateUpdate(): một lần mỗi khung hình, sau mọi lần chạyUpdate().OnDisable(): mỗi khi đối tượng bị ẩn và trước khi bị hủy.OnDestroy(): một lần, khi đối tượng bị hủy.
Các bước từ 4 đến 6 lặp lại trong mỗi khung hình khi đối tượng còn hoạt động. Đối tượng được tạo ra cũng trải qua cùng danh sách này: Instantiate chạy Awake() và OnEnable() của bản sao trước khi trả về, còn Start() của bản sao chạy trước Update() đầu tiên.
Từ thứ tự này, ta rút ra hai thói quen. Code trong Awake() thiết lập các trường riêng của một đối tượng kịp thời để mọi đối tượng khác dùng trong Start(). Còn code vật lý nên đặt trong FixedUpdate(), vì các bước của hàm này luôn cách nhau 0.02 giây, bất kể khung hình chạy nhanh hay chậm.
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
1C# cơ bản trong Unity
Xin chào, UnityBiếnSố thập phân cần có fVăn bản trong ConsoleBiến có thể ghi nhớIf và elseSo sánh các sốÔn tập: Thu thập xu7Vòng lặp và phương thức
Lặp lại với forVòng lặp lồng nhauViết phương thứcPhương thức trả lờiMảngÔn tập: Cầu thang2Làm cho nó chuyển động
Đặt khối lập phươngDi chuyển theo từng khung hìnhXoay mỗi giâyĐiều khiển bằng các phímÔn tập: Lái khối lập phương5Vectơ
Cộng vectơPhương hướngKhông gian cục bộ và không gian thế giớiTốc độ theo đường chéoKhoảng cách giữa các vậtVector3 là một structÔn tập: Người điều khiển drone8GameObject và thành phần
Tham chiếu trong InspectorLấy một thành phầnThành phần bị thiếuThêm một thành phầnRequireComponentHiện và ẩnÔn tập: Công tắc đèn3Inspector
Các trường trong InspectorSerializeFieldSố thực và MathfThuộc tính trong InspectorÔn tập: thang máy6Biến đổi và hệ phân cấp
Đối tượng cha và conKéo cờ lênTỷ lệNhìn vào các vật thểDi chuyển đến một điểmÔn tập: Mặt trăng quay quanh9Dự án: Bắt lấy ngôi sao
Người bắt saoNgôi sao rơi12Vòng đời của script
Awake và StartUpdate và LateUpdateOnEnable và OnDisableThứ tự vòng đờiÔn tập: Trình ghi nhật ký vòng đờiTự luyện tập: Playground Unity