แสงที่เรืองแสงด้วยสำหรับห่วง

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

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

การติดตั้ง Part และ Script

โคมไฟจะเป็นส่วนหนึ่งที่มีแสงและสคริปติดอยู่

  1. เพื่อให้มันเป็นเรื่องง่ายขึ้นที่จะเห็นแสงสว่างเปลี่ยนโลกเกมเป็น เวลากลางคืน ใน Explorer > Lighting > เปลี่ยน เวลานาฬิกา เป็น 0

    image
  2. สร้างส่วนหรือรุ่นใหม่ที่มีชื่อว่า Lamp

  3. เลือกโคมไฟ และเพิ่ม แสง เช่นเดียวกับไฟตรวจหน้า หรือ SpotLight คุณจะทำงานกับค่าความสว่างของไฟเพื่อสร้างโคมไฟที่เรืองแสง

  4. ใน Lamp เพิ่มสคริปต์ใหม่ที่มีชื่อว่า GlowScript ในสคริปต์นั้น สร้างแป้นที่เก็บข้อมูลส่วนล่างและจุดไฟ


    local lightPart = script.Parent
    local light = lightPart.SpotLight
  5. ต่อไป, สร้างตัวแปรเพื่อระบุว่าความสว่างจะเปลี่ยนแปลงเท่าไหร่ในแต่ละครั้งที่วงจรวิ่ง จากนั้น, เพิ่มตัวแปรอื่นเพื่อระบุจำนวนวินาทีที่วงจรจะรอก่อนที่จะวิ่งอีกครั้ง


    -- จำนวนความสว่างของแสงจะเปลี่ยนแปลงไปตามแต่ละครั้ง
    local brightnessChange = 1
    -- ความถี่ในตัวอักษรวินาทีที่แสงจะเปลี่ยนสีสว่าง
    local timeChange = 1

ทำให้โคมไฟเรืองแสง

โคมไฟจะใช้สอง สำหรับวงล้อ หนึ่งที่นับจนกว่าจะทำให้โคมไฟสว่างขึ้น และหนึ่งที่นับจนกว่าจะทำให้มันมืดลง แต่ละสำหรับวงล้อจะมีแปรควบคุมที่ชื่อว่า currentBrightness ด้วยวิธ

การเรียกแรก (เพิ่มแสง)

จำไว้ว่าตัวเร่งสำหรับข้อความเริ่มต้นด้วยคำว่า for ติดตามด้วยตัวแปรการควบคุม สคริปต์นี้จะตั้งค่าค่าความสว่างของไฟให้เป็นค่าในตัวแปรการควบคุม

  1. เขียนโค้ดเพื่อหมุนโดยใช้ค่าต่อไปนี้ จำไว้ว่าจะแยกแปรควบคุมและค่าจุดสิ้นสุดด้วยชุดเรียน

    • ควบคุมแปรผัน : 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 ของคุณสำหรับข้อเท็จจริง
  • ตรวจสอบว่า timeChange มีค่าเวลาอย่างน้อยหนึ่งหรือสูงกว่า ตัวเลขที่เล็กกว่าจะทำให้การเปลี่ยนแปลงความสว่างเร็วขึ้น แต่จะยากที่จะมองเห็นในระยะยาว
  • ให้แน่ใจว่าบรรทัดแรกของคุณสำหรับวงล้อมีสองจุลภาคที่แยกกันออกจากตัวแปรการควบคุม มูลค่าสุดท้าย และค่าเพิ่ม

วงแหวนที่สอง (ลดแสง)

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

  1. เขียนโค้ดสองครั้งเพื่อหาลองติจูงตัวอักษรที่ลดความสว่างในเวลาที่ผ่านมา แก้ปัญหาอยู่ในกล่องโค้ดด้านล่าง ใช้ค่าต่อไปนี้:

    • ควบคุมแปรผัน - currentBrightness ตั้งค่าไว้ที่ 5, ต้นสุดของวงจรสุดท้าย
    • ปิดเท้า - 0, ปิดไฟ
    • เพิ่มเติม - ลบ brightnessChange

    -- โคมไฟลำแสงสอง
    for currentBrightness = 5, 0, -brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  2. ดำเนินการเกมของคุณ คุณควรเห็นแสงสว่างสดใสแล้วจม

ทำให้แสงทำซ้ำ

ตอนนี้, แสงเท่านั้นจะเปิดและปิดเป็นครั้งเดียว เพื่อให้แสงอยู่เสมอไปยังด้านข้างของคุณ, สำหรับวงแหวนจะถูกวางไว้ในตัวที่ซ้ำซากซึ่งจะทำให้แสงเป็นเรื่องตลอดเวลา.

  1. ใต้ for ห่วง, สร้างใหม่ while ห่วง


    while true do
    end
  2. วางทั้งสองสำหรับล็อปในระหว่างล็อป การจัดเรียงล็อปเพื่อให้พวกเขาง่ายขึ้นที่จะแยกออกจากล็อปในระหว่างล็อป


    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

สรุป

เพื่อสร้างเอฟเฟกต์ที่ซับซ้อนในโครงการสคริปต์สามารถใช้หลายวงเล็บและแม้กระทั่งการผสานของสามประเภทของวงเล็บ เพื่อเขียนไฟที่เรืองแสง สองวงเล็บถูกซ้อนกันภายในวงเล็บเวลา