Thức so với Bắt đầu

Tập lệnh API trong Unity cung cấp một tập hợp các hàm khởi tạo.

Hàm khởi tạo là các hàm được gọi khi bắt đầu vòng đời của tập lệnh.

Các hàm khởi tạo trong Unity là 'Awake' và 'Start'.

'Awake' so với 'Start'

Sự khác biệt giữa 'Awake' và 'Start' là thứ tự thực hiện và điều kiện chạy.

Hàm 'Awake' chạy trước, bất kể tập lệnh có được bật hay không và hàm 'Start' chỉ chạy khi tập lệnh được bật. Cả hai hàm đều chạy trước phương thức 'Update' đầu tiên.

    void Awake()
    {
        Debug.Log("Awake runs first");
    }

    void Start()
    {
        Debug.Log("Start runds second");
    }

Hàm 'Start' cũng có thể là một Coroutine (bằng cách thay thế 'void' bằng 'IEnumerator' và thêm tham số 'yield'), nhưng hàm 'Awake' thì không thể.

    IEnumerator Start()
    {
        //Wait 1 second before running the next code
        yield return new WaitForSeconds(1);

        Debug.Log("Start");
    }

Mua mang về

Cả hai chức năng đều hữu ích cho mục đích khởi tạo (ví dụ: gán các biến riêng tư, tạo ra các đối tượng trò chơi, v.v.) và khi được sử dụng kết hợp, có thể giúp triển khai nhiều tình huống khác nhau.