ทำซ้ำโค้ดด้วยลูปแบบ while

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

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

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

ตั้งค่าส่วนและสคริปต์

ใช้โปรเจ็กต์ Roblox ใดก็ได้สำหรับการฝึกนี้ เมื่อลงเสร็จแล้ว ส่วนนี้สามารถใช้เป็นวิธีการตกแต่งสภาพแวดล้อม

  1. สร้างส่วนใหม่ที่มีชื่อที่บรรยายรายละเอียด บทเรียนนี้ใช้ LoopingPart

  2. ใน ServerScriptService เพิ่มสคริปต์ใหม่ชื่อ LoopingScript

  3. ในสคริปต์ ลบ Hello World และเขียน คอมเมนต์ ระบุวัตถุประสงค์ของสคริปต์นี้


    -- เปลี่ยนสีของ LoopingPart ทุกๆ ไม่กี่วินาที

ใช้ตัวแปรเพื่อเก็บส่วน

ตัวแปรสามารถเก็บการอ้างอิงไปยังวัตถุอื่นๆ นอกจากสตริงได้ ตัวอย่างเช่น เมื่อสคริปต์รู้การอ้างอิงไปยังส่วน สคริปต์สามารถเปลี่ยนแปลงมันได้

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

ตัวอย่างเช่น: local nameOfVariable

  1. ใต้คอมเมนต์ สร้างตัวแปรท้องถิ่นโดยการพิมพ์ local loopingPart


    -- เปลี่ยนสีของ LoopingPart ทุกๆ ไม่กี่วินาที
    local loopingPart
  2. ตั้งค่าตัวแปรเป็นส่วนลูปโดยการพิมพ์ = workspace.LoopingPart ในบรรทัดเดียวกัน จำไว้ว่าตัวดำเนินการ = จะตั้งค่าค่าของตัวแปรเป็นสิ่งที่อยู่ทางขวาของมัน


    -- เปลี่ยนสีของ LoopingPart ทุกๆ ไม่กี่วินาที
    local loopingPart = workspace.LoopingPart

ลูป while

ก่อนจะสร้างลูป while สำหรับส่วนที่เปลี่ยนสี ควรอธิบายไวยากรณ์ของมันก่อน ลูป while มีสามส่วนประกอบ:

  • คำสำคัญ while
  • เงื่อนไข ซึ่งจะอยู่หลังคำสำคัญเสมอ
  • คำสั่ง ซึ่งอยู่ระหว่างคำว่า do และ end

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

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


while true do
print("ลูปนี้กำลังทำงาน")
end

เขียนโค้ดลูป while

ถัดไป คุณจะตั้งค่าลูป while สำหรับส่วนที่เปลี่ยนสี

  1. ในบรรทัดถัดไปพิมพ์ while true do จากนั้นกด Enter เพื่อเติมและเพิ่มคำว่า end


    -- เปลี่ยนสีของ loopingPart ทุกๆ ไม่กี่วินาที
    local loopingPart = workspace.LoopingPart
    -- โค้ดลูป
    while true do
    end

เพิ่มโค้ดในลูป

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

  1. ระหว่าง while true do และ end ตั้งค่าคุณสมบัติสีของส่วนเป็น Color3.fromRGB()


    local loopingPart = workspace.LoopingPart
    while true do
    loopingPart.Color = Color3.fromRGB()
    end
  2. การตั้งค่าสีสามารถทำได้โดยใช้เครื่องเลือกสีใน Studio หากต้องการทำให้ทำโดยคลิกซ้ายภายใน () ถัดจาก fromRGB จากนั้นคลิกที่ไอคอนวงล้อสี เมื่อได้สีที่ต้องการแล้ว ให้กด OK เพื่อเพิ่มค่าสีในโค้ดอัตโนมัติ


    local loopingPart = workspace.LoopingPart
    while true do
    loopingPart.Color = Color3.fromRGB(82, 227, 255)
    end

ทำให้สคริปต์รอ

หากคุณเพิ่มบรรทัดที่สองของโค้ดเปลี่ยนสีในขณะนี้ สีของอิฐจะเปลี่ยนเร็วเกินไปจนคุณอาจจะไม่เห็นสีแรกได้เลย หากต้องการให้สคริปต์รอก่อนที่จะทำการรันบรรทัดถัดไปของโค้ด ให้ใช้ฟังก์ชัน task.wait()

  1. ในบรรทัดหลังจากการเปลี่ยนสีของอิฐ พิมพ์ task.wait(3) หมายเลขใดๆ ที่ใส่ภายใน () คือจำนวนนับว่าวินาทีที่สคริปต์จะรอ


    local loopingPart = workspace.LoopingPart
    while true do
    loopingPart.Color = Color3.fromRGB(82, 227, 255)
    task.wait(3)
    end
  2. ใต้ฟังก์ชัน wait ทำซ้ำการเพิ่มสีใหม่ตามกระบวนการเดียวกัน เสร็จสิ้นด้วยฟังก์ชัน wait เพิ่มเติม


    while true do
    loopingPart.Color = Color3.fromRGB(82, 227, 255)
    task.wait(3)
    loopingPart.Color = Color3.fromRGB(177, 52, 255)
    task.wait(3)
    end
  3. ทดสอบโค้ดและดูว่าสีเปลี่ยนแปลงหรือไม่

หมายเหตุการแก้ปัญหา
ในจุดนี้หากส่วนที่เปลี่ยนสีไม่ทำงานตามที่ตั้งใจ ให้ลองทำตามสิ่งต่อไปนี้

ปัญหา: สีถูกข้าม

  • ตรวจสอบให้แน่ใจว่าคุณมีฟังก์ชัน wait ระหว่างการเปลี่ยนสีแต่ละสี โดยเฉพาะในบรรทัดสุดท้าย
  • ตรวจสอบว่าโค้ดการเปลี่ยนสีและรอทั้งหมดอยู่ระหว่างส่วน while true do และ end

ปัญหา: ส่วนยังคงเป็นสีเทาหรือไม่เปลี่ยนสีตามที่ตั้งใจ

  • ตรวจสอบให้แน่ใจว่าทุกค่า RGB มีตัวเลขตั้งแต่ 0 ถึง 255 เป็นจำนวนเต็มหรือทศนิยม และแยกด้วยเครื่องหมายจุลภาค
  • หมายเลขภายใน () ของฟังก์ชัน wait ควรมีค่ามากกว่า 1 อาจเป็นไปได้ว่าถ้าการรอมีค่าสั้นเกินไป คุณอาจจะไม่เห็นสีนั้น

สคริปต์ส่วนการทำซ้ำสีก่อน


-- สร้างตัวแปรเพื่อเก็บส่วน
local loopingPart = workspace.LoopingPart
-- โค้ดลูป
while true do
-- เปลี่ยนสีของ loopingPart
loopingPart.Color = Color3.fromRGB(82, 227, 255)
-- รอ 3 วินาทีก่อนคำสั่งถัดไป
task.wait(3)
loopingPart.Color = Color3.fromRGB(177, 52, 255)
task.wait(3)
end

สรุป

ลูปเป็นองค์ประกอบทั่วไปในภาษาโปรแกรมส่วนใหญ่ ใช้สำหรับทำซ้ำคำสั่ง บางครั้งจนกว่าจะมีเงื่อนไขเฉพาะที่ครบถ้วน ในบทความนี้ ลูป while ถูกใช้เพื่ทำซ้ำคำสั่งตลอดไป เพื่อสร้างลูป while ที่ทำซ้ำตลอดไป ให้ใช้ไวยากรณ์ด้านล่าง โดยจำเป็นต้องรวมคำสั่งระหว่างคำว่า do และ end


while true do
-- คำสั่ง
end
©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ