การฝึกฝนพารามิเตอร์ - ปุ่ม

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

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

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

สร้างสะพาน

เริ่มต้นด้วยการตั้งค่าสะพาน

  1. สร้างพื้นที่ในสภาพแวดล้อมของคุณที่ผู้เล่นจะต้องการสะพาน

  2. สร้างส่วนสำหรับสะพานและเปลี่ยนชื่อเป็น สะพาน

  3. เลือกสะพาน ในหน้าต่างคุณสมบัติ:

    • เปลี่ยน ความโปร่งใส เป็น .5 สำหรับความโปร่งใส 0 คือมองเห็นได้ 1 คือมองไม่เห็น
    • ตรวจสอบ ยึดติด
    • ยกเลิกการตรวจสอบ สามารถชนได้
  4. เมื่อคุณทดสอบเกม สะพานควรมีลักษณะเป็นหมอกและผู้คนไม่ควรสามารถเดินบนมันได้

สร้างปุ่ม

ตอนนี้ที่สะพานถูกตั้งค่าแล้ว สร้างปุ่ม

  1. สร้างส่วนใหม่ชื่อ ปุ่ม

  2. เปลี่ยนสีปุ่มเป็นสีแดง

  3. ยึดติด ปุ่ม

  4. ย้ายปุ่มให้ลอยอยู่เล็กน้อยและไม่สัมผัสอะไร นี่เพื่อให้แน่ใจว่าเหตุการณ์ Touched จะไม่ถูกเรียกใช้งานโดยบังเอิญ

ทำให้ปุ่มโต้ตอบได้

ในครั้งนี้ แทนที่จะใช้เหตุการณ์ Touched เพื่อสร้างกับดัก คุณจะใช้มันเพื่อสร้างปุ่มที่ทำให้สะพานใช้งานได้ เพื่อทำให้สะพานสามารถชนได้ ใช้โค้ด bridge.CanCollide = true ภายในฟังก์ชันที่กำหนดเองซึ่งทำงานเมื่อผู้เล่นสัมผัสปุ่ม คุณรู้ทุกอย่างที่คุณต้องการเพื่อทำตามขั้นตอนต่อไปนี้

ลองหาวิธีทำด้วยตัวเองก่อนที่จะดูโค้ดคำตอบ

  1. แทรก สคริปต์ ใหม่ลงในปุ่มชื่อ ActivateBridge
  2. ลบ Hello World
  3. สร้างตัวแปรสำหรับสะพานและสำหรับปุ่ม
  4. สร้าง ฟังก์ชันท้องถิ่น ที่ทำสิ่งต่อไปนี้เมื่อปุ่มถูกสัมผัส:
    • พิมพ์ "ปุ่มถูกสัมผัส"
    • เปลี่ยนสีของปุ่มจากสีแดงเป็นสีเขียวเมื่อถูกสัมผัส
    • เปลี่ยนความโปร่งใสของสะพานเป็น 0 เพื่อทำให้มันมองเห็นได้
    • ทำให้สะพานใช้งานได้โดยใช้โค้ด bridge.CanCollide = true
  5. เชื่อมต่อฟังก์ชันกับเหตุการณ์ Touched ของปุ่ม
  6. ทดสอบสคริปต์และตรวจสอบให้แน่ใจว่าสะพานปรากฏขึ้นเมื่อปุ่มถูกสัมผัส

คำตอบโค้ด ด้านล่างนี้คือคำตอบโค้ดที่เป็นไปได้หนึ่ง

-- แทรกสคริปต์นี้ลงในปุ่ม
-- เปลี่ยนปุ่มเป็นสีเขียวเมื่อมีบางอย่างสัมผัสปุ่ม
local button = script.Parent
local bridge = workspace.Bridge
local function buttonPressed()
print("ปุ่มถูกสัมผัส")
button.Color = Color3.fromRGB(0, 170, 0)
bridge.Transparency = 0
bridge.CanCollide = true
end
button.Touched:Connect(buttonPressed)

แก้ไขปัญหาโค้ดของคุณ

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

ปัญหา: คุณได้รับข้อผิดพลาดในหน้าต่างผลลัพธ์ที่กล่าวว่า: "สะพานไม่ใช่สมาชิกที่ถูกต้องของ Workspace" ตรวจสอบสิ่งต่อไปนี้:

  • การตั้งชื่อสะพานของคุณ สะพานในสคริปต์ของคุณต้องมีชื่อเหมือนใน Explorer
  • ว่า part.Touched:Connect(buttonPressed) อยู่ภายนอกฟังก์ชัน buttonPressed()

ความท้าทายโค้ดเพิ่มเติม

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

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

เวอร์ชันของคุณอาจมีลักษณะดังนี้:

local button = script.Parent
-- เตือนความจำ: เปลี่ยนชื่อของส่วน Gate เป็นชื่อในโปรเจกต์ของคุณ
local gate = workspace.Gate
local function buttonPressed()
print("ปุ่มถูกสัมผัส")
-- เปลี่ยนปุ่มเป็นสีแดงเพื่อให้ผู้เล่นได้รับข้อเสนอแนะแบบ
button.BrickColor = BrickColor.Red() -- เปลี่ยนแปลงนี้
-- ทำให้ประตูมองไม่เห็น
gate.Transparency = 1
-- ทำให้ผู้เล่นสามารถเดินผ่านประตูได้
gate.CanCollide = false
end
button.Touched:Connect(buttonPressed)
©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ