โดยปกติแล้ว ฟังก์ชันสามารถใช้ข้อมูลที่มีการเขียนไว้ภายในฟังก์ชันเท่านั้น บางครั้งคุณอาจไม่รู้ล่วงหน้าว่าข้อมูลนั้นจะเป็นอะไร หรือคุณต้องการที่จะสามารถใช้ฟังก์ชันเดียวกันกับข้อมูลที่คล้ายกันหลายชิ้น ตัวอย่างเช่น หากคุณต้องการใช้ฟังก์ชันเพื่อแสดงชื่อของคนที่จบหลักสูตร obby ได้เร็วที่สุดในตัวอักษรขนาดใหญ่ให้ทุกคน คุณจะไม่รู้ชื่อของผู้ชนะในอนาคตจนกว่าการแข่งขันจะสิ้นสุดลง
พารามิเตอร์ เป็นตัวแทนสำหรับข้อมูลที่คุณต้องการให้ฟังก์ชันในภายหลัง มันเหมือนกับหน้าต่างที่อนุญาตให้คุณ ส่ง ข้อมูลไปยังฟังก์ชัน
ใช้พารามิเตอร์และเหตุการณ์เพื่อตั้งค่าหมายเลข
สคริปต์นี้จะสร้างส่วนของกับดักที่ทำลายสิ่งใดก็ตามที่สัมผัสกับส่วนนี้ รวมถึงส่วนอื่น ๆ คุณจะต้องใช้พารามิเตอร์ในการตั้งค่า ระวังให้แน่ใจว่าคุณยึดกับดักไว้ในที่ที่มันไม่ตกลงมาและทำลายสิ่งต่าง ๆ โดยไม่ตั้งใจ
สร้างส่วนใหม่
ต้องตั้งค่าส่วนที่จะทำลายสิ่งใดก็ตามที่สัมผัสมัน
- สร้างส่วนใหม่ที่ไม่สัมผัสกับสิ่งใด หากมันสัมผัสกับสิ่งใดมันอาจจะทำงานเร็วเกินไป
- ใน Explorer เปลี่ยนชื่อส่วนเป็น:TrapPart
- ยึด ส่วนนี้
ตั้งค่าสคริปต์
ใช้สิ่งที่คุณรู้เกี่ยวกับตัวแปรและลำดับชั้นของเกมเพื่ออ้างอิงถึงส่วนของกับดัก
เพิ่มสคริปต์ใหม่ลงในส่วนของกับดัก เปลี่ยนชื่อสคริปต์เป็น TrapScript
ลบ Hello World และเพิ่มความคิดเห็นที่อธิบาย
ใต้ความคิดเห็น สร้างตัวแปรใหม่ที่ค้นหาพ่อแม่ของสคริปต์
-- ทำลายสิ่งใดก็ตามที่สัมผัสกับพ่อแม่local trap = script.Parent
สร้างฟังก์ชันที่มีพารามิเตอร์
กับดักจะใช้ฟังก์ชันเพื่อทำลายสิ่งใดก็ตามที่สัมผัสกับส่วนนี้ เพื่อให้ทำงานได้ ฟังก์ชันต้องรู้ว่าสิ่งใดสัมผัสกับส่วนนี้ และนั่นหมายถึงการใช้พารามิเตอร์ พารามิเตอร์จะถูกพิมพ์ภายใน () ที่มาหลังชื่อฟังก์ชัน มันมีลักษณะดังนี้:
local function functionName(parameterName)
endข้อมูลจริงที่ถูกส่งผ่านพารามิเตอร์เรียกว่า อาร์กิวเมนต์ คุณจะสร้างฟังก์ชันใหม่ชื่อ onTouch() ที่มีพารามิเตอร์ชื่อ objectTouched ซึ่งจะติดตามสิ่งที่สัมผัสกับกับดักและจากนั้นทำลายส่วนที่สัมผัส
สร้างฟังก์ชันท้องถิ่น มันสามารถตั้งชื่ออะไรก็ได้ แต่บทเรียนนี้จะใช้ onTouch
local trap = script.Parentlocal function onTouch()endภายใน (), พิมพ์ชื่อสำหรับพารามิเตอร์ บทเรียนนี้จะใช้ objectTouched
local trap = script.Parentlocal function onTouch(objectTouched)endระหว่าง local function onTouch() และ end, สร้างคำสั่งพิมพ์ คุณจะใช้สิ่งนี้เพื่อตรวจสอบว่าสิ่งใดสัมผัสกับส่วนในส่วนถัดไป
local trap = script.Parentlocal function onTouch(objectTouched)print("มีบางสิ่งสัมผัสกับกับดัก")end
ใช้เหตุการณ์เพื่อเรียกฟังก์ชัน
เราต้องการให้ฟังก์ชันทำงานเมื่อใดก็ตามที่มีบางสิ่งสัมผัสกับส่วนนี้ เพื่อให้เกิดขึ้น เชื่อมต่อฟังก์ชันกับเหตุการณ์ Touched เหตุการณ์ เป็นสิ่งที่เกิดขึ้นในเกม เช่น ผู้เล่นสัมผัสกับส่วนหรือสูญเสียสุขภาพ เมื่อฟังก์ชันเชื่อมต่อกับเหตุการณ์ ฟังก์ชันจะทำงานเมื่อใดก็ตามที่เหตุการณ์เกิดขึ้น
เหตุการณ์ Touched จะเกิดขึ้นเมื่อส่วนหนึ่งสัมผัสกับอีกส่วนหนึ่งและสามารถใช้เพื่อสร้างปุ่ม กับดัก และวัตถุอื่น ๆ ที่ผู้เล่นมีปฏิสัมพันธ์ด้วย
ใต้ end ของฟังก์ชัน พิมพ์ trap.Touched:Connect(onTouch)
local trap = script.Parentlocal function onTouch(objectTouched)print("มีบางสิ่งสัมผัสกับกับดัก")end-- เชื่อมต่อฟังก์ชันกับเหตุการณ์ Touchedtrap.Touched:Connect(onTouch)คลิกทดสอบและจากนั้นสัมผัสกับส่วน ตรวจสอบคำสั่งพิมพ์ทดสอบของคุณ: มีบางสิ่งสัมผัสกับกับดัก หากคุณไม่เห็นสตริงในหน้าต่างผลลัพธ์ ให้ตรวจสอบสิ่งต่อไปนี้:
- ตรวจสอบให้แน่ใจว่าสตริง "มีบางสิ่งสัมผัสกับส่วน!" อยู่ระหว่าง local function onTouch() และ end
- ตรวจสอบว่า Touched ตัวพิมพ์ใหญ่
ตอนนี้ฟังก์ชันถูกตั้งค่าอย่างถูกต้อง ใช้มันเพื่อทำลายสิ่งใดก็ตามที่สัมผัสกับส่วนนี้ ภายในฟังก์ชัน หลังจากสตริง พิมพ์ objectTouched:Destroy() โค้ดที่เสร็จสมบูรณ์ควรเป็น:
local trap = script.Parentlocal function onTouch(objectTouched)print("มีบางสิ่งสัมผัสกับกับดัก")-- ทำลายวัตถุที่สัมผัสobjectTouched:Destroy()endtrap.Touched:Connect(onTouch)ทดสอบอีกครั้งและดูว่าเกิดอะไรขึ้นเมื่อสัมผัสกับส่วนนี้ อวตารของคุณควรจะขาดเท้าหรือแขน หากส่วนสัมผัสกับหัวหรือคอของอวตาร มันอาจจะถูกทำลายทั้งหมด
สรุป
พารามิเตอร์ถูกใช้เพื่อส่งข้อมูลที่โดยปกติจะอยู่นอกขอบเขต (ที่ฟังก์ชันไม่สามารถมองเห็นได้) เข้าไปในฟังก์ชัน ในขณะเดียวกัน เหตุการณ์เป็นสัญญาณพิเศษที่เกิดขึ้นภายในเกมเมื่อมีสิ่งสำคัญเกิดขึ้น วัตถุต่าง ๆ มีเหตุการณ์ที่แตกต่างกัน ฟังก์ชันสามารถเชื่อมต่อกับเหตุการณ์เพื่อให้ถูกเรียกใช้ทุกครั้งที่เหตุการณ์ถูกเรียกใช้ สคริปต์เล็ก ๆ นี้เชื่อมต่อฟังก์ชันกับเหตุการณ์ Touched ของกับดัก และส่งสิ่งที่สัมผัสกับกับดักผ่านพารามิเตอร์