เพื่อซ้อมสำหรับลูป คุณจะสร้างโคมไฟที่เรืองแสงขึ้นเรื่อย ๆ จนกว่าจะมืดลงในเวลาต่อมา สคริปต์นี้สามารถใช้กับไฟอื่น ๆ ในโครงการได้ ไม่ว่าจะเป็นไฟถนนหรือคริสตัลเรืองแสง
การติดตั้ง Part และ Script
โคมไฟจะเป็นส่วนหนึ่งที่มีแสงและสคริปติดอยู่
เพื่อให้มันเป็นเรื่องง่ายขึ้นที่จะเห็นแสงสว่างเปลี่ยนโลกเกมเป็น เวลากลางคืน ใน Explorer > Lighting > เปลี่ยน เวลานาฬิกา เป็น 0
สร้างส่วนหรือรุ่นใหม่ที่มีชื่อว่า Lamp
เลือกโคมไฟ และเพิ่ม แสง เช่นเดียวกับไฟตรวจหน้า หรือ SpotLight คุณจะทำงานกับค่าความสว่างของไฟเพื่อสร้างโคมไฟที่เรืองแสง
ใน Lamp เพิ่มสคริปต์ใหม่ที่มีชื่อว่า GlowScript ในสคริปต์นั้น สร้างแป้นที่เก็บข้อมูลส่วนล่างและจุดไฟ
local lightPart = script.Parentlocal light = lightPart.SpotLightต่อไป, สร้างตัวแปรเพื่อระบุว่าความสว่างจะเปลี่ยนแปลงเท่าไหร่ในแต่ละครั้งที่วงจรวิ่ง จากนั้น, เพิ่มตัวแปรอื่นเพื่อระบุจำนวนวินาทีที่วงจรจะรอก่อนที่จะวิ่งอีกครั้ง
-- จำนวนความสว่างของแสงจะเปลี่ยนแปลงไปตามแต่ละครั้งlocal brightnessChange = 1-- ความถี่ในตัวอักษรวินาทีที่แสงจะเปลี่ยนสีสว่างlocal timeChange = 1
ทำให้โคมไฟเรืองแสง
โคมไฟจะใช้สอง สำหรับวงล้อ หนึ่งที่นับจนกว่าจะทำให้โคมไฟสว่างขึ้น และหนึ่งที่นับจนกว่าจะทำให้มันมืดลง แต่ละสำหรับวงล้อจะมีแปรควบคุมที่ชื่อว่า currentBrightness ด้วยวิธ
การเรียกแรก (เพิ่มแสง)
จำไว้ว่าตัวเร่งสำหรับข้อความเริ่มต้นด้วยคำว่า for ติดตามด้วยตัวแปรการควบคุม สคริปต์นี้จะตั้งค่าค่าความสว่างของไฟให้เป็นค่าในตัวแปรการควบคุม
เขียนโค้ดเพื่อหมุนโดยใช้ค่าต่อไปนี้ จำไว้ว่าจะแยกแปรควบคุมและค่าจุดสิ้นสุดด้วยชุดเรียน
- ควบคุมแปรผัน : currentBrightness
- มูลค่าเริ่มต้น : 0
- มูลค่าสิ้นสุด : 5
- มูลค่าเพิ่มเติม : brightnessChange
local timeChange = 1for currentBrightness = 0, 5, brightnessChange doendในขอบเขตของ for สำหรับวงแหวน, ตั้งค่าความสว่างของแสงให้เป็นค่าในแป้นควบคุมโดยการพิมพ์ light.Brightness = currentBrightness ตอนนี้เมื่อวงแหวนทำงาน, แสงจะเป็นสีสว่างขึ้น
for currentBrightness = 0, 5, brightnessChange dolight.Brightness = currentBrightnessendดังนั้นการเปลี่ยนแปลงจึงไม่เกิดขึ้นทันที ให้เพิ่มคุณสมบัติรอใช้งานโดยใช้ค่าใน timeChange
for currentBrightness = 0, 5, brightnessChange dolight.Brightness = currentBrightnesstask.wait(timeChange)endวิ่งเกมเพื่อดูการเพิ่มขึ้นของแสงในแต่ละวินาที
หากคุณไม่สามารถดูการเปลี่ยนแปลงความสว่างในช่วงเวลาแรกของวงจร:
- ให้แน่ใจว่า light.Brightness = currentBrightness อยู่ระหว่าง do และ end ของคุณสำหรับข้อเท็จจริง
- ตรวจสอบว่า timeChange มีค่าเวลาอย่างน้อยหนึ่งหรือสูงกว่า ตัวเลขที่เล็กกว่าจะทำให้การเปลี่ยนแปลงความสว่างเร็วขึ้น แต่จะยากที่จะมองเห็นในระยะยาว
- ให้แน่ใจว่าบรรทัดแรกของคุณสำหรับวงล้อมีสองจุลภาคที่แยกกันออกจากตัวแปรการควบคุม มูลค่าสุดท้าย และค่าเพิ่ม
วงแหวนที่สอง (ลดแสง)
เพื่อปิดแสง ใช้เวลาสองวินาทีสำหรับวงแหวน มูลค่าของวงแหวนนี้จะถูกกลับไปยังด้านล่างดังนั้นจึงจะเริ่มสว่างและแต่ละวินาทีจะได้รับการปิด
เขียนโค้ดสองครั้งเพื่อหาลองติจูงตัวอักษรที่ลดความสว่างในเวลาที่ผ่านมา แก้ปัญหาอยู่ในกล่องโค้ดด้านล่าง ใช้ค่าต่อไปนี้:
- ควบคุมแปรผัน - currentBrightness ตั้งค่าไว้ที่ 5, ต้นสุดของวงจรสุดท้าย
- ปิดเท้า - 0, ปิดไฟ
- เพิ่มเติม - ลบ brightnessChange
-- โคมไฟลำแสงสองfor currentBrightness = 5, 0, -brightnessChange dolight.Brightness = currentBrightnesstask.wait(timeChange)endดำเนินการเกมของคุณ คุณควรเห็นแสงสว่างสดใสแล้วจม
ทำให้แสงทำซ้ำ
ตอนนี้, แสงเท่านั้นจะเปิดและปิดเป็นครั้งเดียว เพื่อให้แสงอยู่เสมอไปยังด้านข้างของคุณ, สำหรับวงแหวนจะถูกวางไว้ในตัวที่ซ้ำซากซึ่งจะทำให้แสงเป็นเรื่องตลอดเวลา.
ใต้ for ห่วง, สร้างใหม่ while ห่วง
while true doendวางทั้งสองสำหรับล็อปในระหว่างล็อป การจัดเรียงล็อปเพื่อให้พวกเขาง่ายขึ้นที่จะแยกออกจากล็อปในระหว่างล็อป
while true dofor currentBrightness = 0, 5, brightnessChange dolight.Brightness = currentBrightnesstask.wait(timeChange)endfor currentBrightness = 5, 0, -brightnessChange dolight.Brightness = currentBrightnesstask.wait(timeChange)endendวิ่งเกมเพื่อดูแสงสว่างเปลี่ยนแปลงไปตลอดเวลา
สคริปต์ไฟน์เลิฟ
สามารถอ้างอิงได้ด้านล่างเป็นเวอร์ชันที่เสร็จสิ้นของสคริปต์
-- เก็บไฟที่แนบมากับโคมไฟนี้lightPart = script.Parentlight = lightPart.SpotLight-- จำนวนความสว่างของแสงจะเปลี่ยนแปลงไปตามแต่ละครั้งlocal brightnessChange = 1-- ความถี่ในตัวอักษรวินาทีที่แสงจะเปลี่ยนสีสว่างlocal timeChange = 0.2while true dofor count = 0, 5, brightnessChange dolight.Brightness = counttask.wait(timeChange)end-- วงจรที่สองเพื่อปิดไฟfor count = 5, 0, -brightnessChange dolight.Brightness = counttask.wait(timeChange)endend
สรุป
เพื่อสร้างเอฟเฟกต์ที่ซับซ้อนในโครงการสคริปต์สามารถใช้หลายวงเล็บและแม้กระทั่งการผสานของสามประเภทของวงเล็บ เพื่อเขียนไฟที่เรืองแสง สองวงเล็บถูกซ้อนกันภายในวงเล็บเวลา