Menu
CoddyTech
flag Ar iconالعربيةdown icon

الإنشاء باستخدام مؤقّت

جزء من قسم أساسيات البرمجة النصية في Unity في رحلة Unity على Coddy. الدرس 49 من 67.

يحتاج المُولِّد الذي ينشئ شيئًا كل بضع ثوانٍ إلى مؤقّت. Time.deltaTime هو الوقت الذي استغرقه الإطار الأخير، لذا فإن جمعه في حقل في كل Update() يعطي عدد الثواني التي انقضت. عندما يصل المجموع إلى الفاصل الزمني، أنشئ العنصر واطرح الفاصل الزمني من المجموع.

تُطلق هذه النافورة قطرة ماء كل نصف ثانية:

public GameObject dropPrefab;
public float interval = 0.5f;
float timer;

void Update()
{
    timer += Time.deltaTime;
    if (timer >= interval)
    {
        Instantiate(dropPrefab, transform.position, Quaternion.identity);
        timer -= interval;
    }
}

يحافظ timer -= interval على الوقت المتبقي: إذا انتهى الإطار عند 0.51 ثانية، يبدأ احتساب النصف ثانية التالية من 0.01، وتظل القطرات منتظمة الإيقاع. أما timer = 0 فسيتخلّص من الوقت المتبقي، لذلك ستتأخر كل قطرة قليلًا، وسيتراكم التأخير على مدار لعبة طويلة. إن timer خاص، لأن لا أحد يحتاج إلى ضبطه في نافذة Inspector.

challenge icon

التحدي

متوسط

يجب أن يُسقط Dropper صندوقًا كل interval ثانية (يُظهر Inspector القيمة 2): الصندوق الأول بعد ثانيتين من الضغط على Play، ثم صندوق آخر كل ثانيتين.

  • أنشئ كل صندوق في موضع أداة الإسقاط، دون أي دوران.
  • بعد كل صندوق، سجّل رقمه: Box 1 وBox 2 وما إلى ذلك.

اضغط على Play وشاهد الكومة تكبر، ثم اضغط على Check.

جرّب بنفسك

using UnityEngine;

public class BoxDropper : MonoBehaviour
{
    public GameObject boxPrefab;
    public float interval = 1f;

    void Update()
    {
        // كل interval ثانية: أسقط صندوقًا وسجّل "Box 1"، "Box 2"...
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس أساسيات البرمجة النصية في Unity