أضواء متوهجة باستخدام حلقات for

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

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

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

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

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

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

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

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

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

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

اجعل المصباح يتوهج

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

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

تذكر، تبدأ حلقة 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 وشعار "توسيع حدود المخيلة"، من ضمن علاماتنا التجارية المسجّلة وغير المسجّلة في الولايات المتحدة وبلدان أخرى.