أضواء متلألئة باستخدام حلقات التكرار

*This content is translated using AI (Beta) and may contain errors. To view this page in English, click here.

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

إعداد الجزء والسكربت

سيكون المصباح جزءًا مع ضوء متصل وسكربت.

  1. لتسهيل رؤية الضوء، قم بتغيير العالم ثلاثي الأبعاد إلى الليل. في مستكشفالإضاءة، غيّر ClockTime إلى 0.

    صورة
  2. أنشئ جزءًا جديدًا أو نموذجًا باسم Lamp.

  3. اختر Lamp، وأضف ضوءًا، مثل PointLight أو SpotLight. ستعمل على خاصية السطوع للضوء لإنشاء مصباح متلألئ.

  4. داخل Lamp، أضف سكربتًا جديدًا باسم GlowScript. في ذلك السكربت، أنشئ متغيرات لتخزين جزء المصباح وضوء النقطة.


    local lightPart = script.Parent
    local light = lightPart.SpotLight
  5. بعد ذلك، قم بإنشاء متغير للاحتفاظ بمدى تغير سطوع الضوء في كل مرة تعمل فيها الحلقة. ثم، أضف متغيرًا آخر لعدد الثواني التي ستنتظرها الحلقات قبل التشغيل مرة أخرى.


    -- مقدار تغيير سطوع الضوء في كل مرة
    local brightnessChange = 1
    -- كم مرة بالثواني سيتغير سطوع الضوء
    local timeChange = 1

اجعل المصباح يتلألأ

سيستخدم المصباح حلقتين for، واحدة تعد لصنع المصباح أكثر إشراقًا، وواحدة تعد لتخفيفه. كل حلقة for سيكون لها متغير تحكم يسمى currentBrightness. بهذه الطريقة، كلما ارتفع وانخفض متغير التحكم في الحلقة، سيتغير سطوع الضوء.

الحلقة الأولى (زيادة الضوء)

تذكر، أن حلقة for تبدأ بالكلمة الأساسية for تليها متغير تحكم. ستقوم هذه السكربت بضبط قيمة السطوع للضوء على القيمة الموجودة في متغير التحكم.

  1. قم بكتابة حلقة for باستخدام القيم التالية. تذكر أن تفصل بين متغير التحكم وقيم النهاية بفاصلة.

    • متغير التحكم: currentBrightness
    • قيمة البداية: 0
    • قيمة النهاية: 5
    • قيمة الزيادة: brightnessChange

    local timeChange = 1
    for currentBrightness = 0, 5, brightnessChange do
    end
  2. ضمن نطاق حلقة for، قم بضبط خاصية السطوع للضوء على القيمة الموجودة في متغير التحكم عن طريق كتابة light.Brightness = currentBrightness. الآن، عندما تعمل الحلقة، سيصبح الضوء أكثر إشراقًا.


    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    end
  3. حتى لا يحدث التغيير دفعة واحدة، أضف وظيفة الانتظار باستخدام القيمة في timeChange.


    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  4. قم بتشغيل التجربة لرؤية الضوء يزداد سطوعه كل ثانية.

إذا لم تتمكن من رؤية تغيير السطوع بمرور الوقت في الحلقة الأولى:

  • تأكد من أن light.Brightness = currentBrightness بين do و end في حلقتك for.
  • تحقق من أن timeChange هو 1 أو أكثر. الأرقام الأصغر ستجعل تغيير السطوع أسرع، لكنه سيكون أصعب في الرؤية بمرور الوقت.
  • تأكد من أن السطر الأول من حلقتك for يحتوي على فاصلتين تفصلان بين متغير التحكم، قيمة النهاية، وقيمة الزيادة.

الحلقة الثانية (تخفيف الضوء)

لتخفيف الضوء، استخدم حلقة for ثانية. ستعكس قيم هذه الحلقة بحيث يبدأ الضوء ساطعًا وكل ثانية يصبح أقل سطوعًا.

  1. اكتب حلقة for ثانية تخفف السطوع بمرور الوقت. الحل موجود في صندوق الشفرة أدناه. استخدم القيم التالية:

    • متغير التحكم - currentBrightness تم تعيينه على 5، نهاية الحلقة السابقة.
    • النهاية - 0، لإيقاف الضوء.
    • الزيادة - اطرح brightnessChange.

    -- الحلقة الثانية تخفف المصباح
    for currentBrightness = 5, 0, -brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  2. قم بتشغيل تجربتك؛ يجب أن ترى الضوء يزداد سطوعًا ثم يتلاشى.

اجعل الضوء يتكرر

الآن، الضوء يشغل فقط مرة واحدة. لجعل المصباح يتلألأ باستمرار، سيتم وضع حلقات for داخل حلقة while متكررة.

  1. تحت حلقات for، أنشئ حلقة while جديدة.


    while true do
    end
  2. ضع كلتا حلقتي for داخل حلقة while. قم بإزاحة الحلقات for لجعلها أسهل للتمييز عن حلقة while.


    while true do
    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
    for currentBrightness = 5, 0, -brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
    end
  3. قم بتشغيل التجربة لرؤية الضوء يصبح ساطعًا ويخفت باستمرار.

سكربت الضوء النهائي

يمكن أن تشير النسخة النهائية من السكربت أدناه.


-- يخزن الضوء المتصل بهذا المصباح
lightPart = script.Parent
light = lightPart.SpotLight
-- مقدار تغيير سطوع الضوء في كل مرة
local brightnessChange = 1
-- كم مرة بالثواني سيتغير سطوع الضوء
local timeChange = 0.2
while true do
for count = 0, 5, brightnessChange do
light.Brightness = count
task.wait(timeChange)
end
-- الحلقة الثانية لإيقاف تشغيل الضوء
for count = 5, 0, -brightnessChange do
light.Brightness = count
task.wait(timeChange)
end
end

الملخص

لإنشاء تأثيرات معقدة في مشروع، يمكن للسكريبتات استخدام حلقات متعددة، وحتى تركيبات من أنواع مختلفة من الحلقات. لبرمجة ضوء متلألئ، يتم تضمين حلقتين داخل حلقة while. بينما يضيف المبرمجون المزيد من الحلقات، تأكد من التحقق من الإزاحة لضمان سهولة قراءة الشيفرة.

©2026 شركة Roblox Corporation. تُعد منصّة Roblox، وشعار Roblox وشعار "توسيع حدود المخيلة"، من ضمن علاماتنا التجارية المسجّلة وغير المسجّلة في الولايات المتحدة وبلدان أخرى.