การปฏิบัติพารามิเตอร์ - ปุ่ม

*เนื้อหานี้แปลโดยใช้ 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. สร้างฟังก์ชันท้องถิ่น ที่ทำตามสิ่งต่อไปนี้ เมื่อแตะปุ่ม:
    • พิมพ์ "button touched" .
    • เปลี่ยนสีปุ่มให้เป็นสีเขียวเมื่อสัมผัส
    • เปลี่ยนความโปร่งใสของสะพานเป็น 0 เพื่อให้มันเห็นได้
    • ทำให้สะพานใช้งานได้โดยใช้รหัส bridge.CanCollide = true
  5. เชื่อมฟังก์ชันกับอีเวนต์ของปุ่ม Touched
  6. ทดสอบสคริปต์และตรวจสอบให้แน่ใจว่าสะพานปรากฏเมื่อกดปุ่ม

โซลูชันรหัสด้านล่างเป็นหนึ่งในโซลูชันรหัสที่เป็นไปได้


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

แก้ไขปัญหารหัสของคุณ

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

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

ความท้าทายรหัสตัวเลือก

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

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

เวอร์ชันของคุณอาจดูเหมือนอะไรบางอย่างเช่นนี้:


local button = script.Parent
-- เตือน: แทนที่ชื่อส่วนหรือประตูด้วยชื่อในโครงการของคุณ
local gate = workspace.Gate
local function buttonPressed()
print("button touched")
-- ข้อเสนอแนะ
button.BrickColor = BrickColor.Red() -- เปลี่ยนสิ่งนี้
-- ทำให้ประตูมองไม่เห็น
gate.Transparency = 1
-- ทำให้ผู้เล่นสามารถเดินผ่านประตูได้
gate.CanCollide = false
end
button.Touched:Connect(buttonPressed)