الاستيقاظ مقابل البدء

توفر البرمجة النصية API في Unity مجموعة من وظائف التهيئة.

وظائف التهيئة هي الوظائف التي يتم استدعاؤها في بداية دورة حياة البرنامج النصي.

وظائف التهيئة في Unity هي 'Awake' و 'Start'.

'Awake' ضد. 'Start'

الاختلافات بين 'Awake' و 'Start' هي أمر التنفيذ وشروط التشغيل.

تعمل الدالة 'Awake' أولاً، بغض النظر عما إذا كان البرنامج النصي ممكّنًا أم لا، وتعمل الدالة 'Start' فقط عند تمكين البرنامج النصي. تعمل كلتا الدالتين قبل الطريقة الأولى 'Update'.

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

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

يمكن أن تكون الدالة 'Start' أيضًا Coroutine (عن طريق استبدال 'void' بـ 'IEnumerator' وإضافة معلمة 'yield')، لكن الدالة 'Awake' لا يمكن أن تكون كذلك.

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

        Debug.Log("Start");
    }

يبعد

كلتا الوظيفتين مفيدتان لأغراض التهيئة (على سبيل المثال، تعيين المتغيرات الخاصة، وإنشاء كائنات اللعبة، وما إلى ذلك)، وعند استخدامها معًا، يمكن أن تساعد في تنفيذ مجموعة واسعة من السيناريوهات.