ไฟเรืองแสงด้วยลูป for

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

เพื่อฝึกลูป for คุณจะสร้างโคมไฟที่ค่อยๆ เรืองแสงสว่างขึ้นและค่อยๆ มืดลงตามเวลา สคริปต์นี้สามารถนำไปใช้กับไฟอื่นๆ ในโปรเจกต์ได้ ไม่ว่าจะเป็นไฟถนนหรือคริสตัลเรืองแสง

ตั้งค่าออบเจ็กต์และสคริปต์

โคมไฟจะเป็นออบเจ็กต์ที่มีไฟติดตั้งอยู่และมีสคริปต์

  1. เพื่อให้เห็นแสงได้ง่ายขึ้น ให้เปลี่ยนโลก 3D เป็น กลางคืน ใน ExplorerLighting เปลี่ยน ClockTime เป็น 0.

    image
  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 สองลูป หนึ่งลูปจะนับขึ้นเพื่อทำให้โคมไฟสว่างขึ้น และลูปอีกหนึ่งจะนับลงเพื่อทำให้มืดลง ลูปแต่ละลูปจะมีตัวแปรควบคุมชื่อ 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. เพื่อไม่ให้การเปลี่ยนแปลงเกิดขึ้นครั้งเดียว ให้เพิ่มฟังก์ชัน wait โดยใช้ค่าที่อยู่ใน 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 และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ