การฝึกทักษะ - ปุ่ม

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

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

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

สร้างสะพาน

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

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

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

  3. เลือกสะพานในหน้าโปรไฟล์:

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

สร้างปุ่ม

ตอนนี้ที่สะพานถูกกำหนดขึ้นแล้ว สร้างปุ่ม

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

ทำให้ปุ่มใช้งานได้

ในครั้งนี้, แทนที่จะใช้เหตุการณ์ Touched เพื่อสร้างกับดัก, คุณจะใช้มันเพื่อสร้างปุ่มที่ทำให้สะพานเป็นสามารถใช้ได้ เ

พยายามแก้ปัญหาด้วยตัวคุณเองก่อนที่จะดูที่โซลูชันรหัส

  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)

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

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

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

ความท้าทายของรหัสอpcional

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

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

รุ่นของคุณอาจดูเหมือนนี้:


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)