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

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

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

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

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

  1. เพื่อให้มองเห็นไฟได้ง่ายขึ้น ให้เปลี่ยนโลก 3D เป็น เวลากลางคืน ใน ExplorerLighting เปลี่ยน 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 เริ่มต้นด้วยคำสำคัญ 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. รันเกมของคุณ คุณควรเห็นไฟสว่างขึ้นแล้วค่อยๆ มืดลง

ทำให้ไฟทำซ้ำ

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