DragDetector

แสดงที่เลิกใช้งานแล้ว

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

ตัวอย่าง DragDetector ช่วยให้และส่งเสริมการโต้ตอบกับวัตถุ 3D ในประสบการณ์ เช่น เปิดประตูและลิ้นชัก เลื่อนชิ้นส่วนไปรอบ ๆ และอื่น ๆ อีกมากมายคุณสมบัติสําคัญรวมถึง:

  • วาง DragDetector ภายใต้ใดก็ได้ BasePart หรือ Model เพื่อทำให้มันสามารถลากได้ผ่านทุกอินพุต (เมาส์ แตะ เกมแพด และ VR) รหัส

  • เลือกจากตัวเลือกหลาย DragStyle ตัว กำหนดวิธีที่วัตถุตอบสนองต่อการเคลื่อนไหวผ่าน ResponseStyle และใช้ขีดจํากัดแกนหรือการเคลื่อนที่ได้ตามต้องการ

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

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

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

ดูคู่มือ ตัวตรวจจับการลาก 3D สำหรับรายละเอียดและตัวอย่างการใช้งาน

สรุป

คุณสมบัติ

  • อ่านพร้อมๆ กัน

    ตั้งไอคอนเคอร์เซอร์ให้แสดงเมื่อเมาส์ถูกเปิดใช้งานบนพ่อของนี้ DragDetector

  • อ่านพร้อมๆ กัน

    ว่าแรงข้อจำกัดถูกใช้กับศูนย์กลางของมวลของวัตถุหรือไม่

  • ไม่ซ้ำ
    อ่านพร้อมๆ กัน

    แกนหลักของการเคลื่อนไหวที่แสดงเป็นเปอร์เซ็นต์เมื่อเทียบกับกรอบอ้างอิง

  • อ่านพร้อมๆ กัน

    The CFrame ของแปดเหลี่ยม, ขึ้นอยู่กับตัวตรวจจับแรงดึงของ ReferenceInstance

  • อ่านพร้อมๆ กัน

    แนวคิดที่ใช้ในการสร้างการเคลื่อนไหวที่เสนอ

  • อ่านพร้อมๆ กัน

    ว่า DragDetector ตอบสนองต่อการป้อนของผู้ใช้หรือไม่

  • อ่านพร้อมๆ กัน

    ระหว่างการใส่เกมแพด ผู้ปรับเปลี่ยน Enum.KeyCode สำหรับโหมดการเคลื่อนไหวรอง

  • อ่านพร้อมๆ กัน

    ระหว่างการใส่ข้อมูลบนแป้นพิมพ์, ตัวแก้ไข Enum.KeyCode สำหรับโหมดการเคลื่อนที่รอง

  • อ่านพร้อมๆ กัน

    ร่วมกับ MinDragAngle ขัดขวางความพยายามของเครื่องตรวจจับการเคลื่อนไหวในการสร้างการเคลื่อนไหว

  • อ่านพร้อมๆ กัน

    ร่วมกับ MinDragTranslation ขัดขวางความพยายามของเครื่องตรวจจับการเคลื่อนไหวในการสร้างการเคลื่อนไหว

  • อ่านพร้อมๆ กัน

    แรงสูงสุดที่ใช้กับวัตถุเพื่อให้บรรลุเป้าหมาย

  • อ่านพร้อมๆ กัน

    แรงบิดสูงสุดที่ใช้กับวัตถุเพื่อให้บรรลุเป้าหมาย

  • อ่านพร้อมๆ กัน

    ร่วมกับ MaxDragAngle ขัดขวางความพยายามของเครื่องตรวจจับการเคลื่อนไหวในการสร้างการเคลื่อนไหว

  • อ่านพร้อมๆ กัน

    ร่วมกับ MaxDragTranslation ขัดขวางความพยายามของเครื่องตรวจจับการเคลื่อนไหวในการสร้างการเคลื่อนไหว

  • อ่านพร้อมๆ กัน

    กำหนดการหมุน YXZ ของแกนการเคลื่อนที่เมื่อเทียบกับกรอบอ้างอิง

  • อ่านพร้อมๆ กัน

    ควบคุมระดับสิทธิ์ที่ผู้เล่นสามารถโต้ตอบกับ DragDetector ได้

  • อ่านพร้อมๆ กัน

    ตัวอย่างที่ CFrame เป็นกรอบอ้างอิงสำหรับตัวตรวจจับลาก

  • อ่านพร้อมๆ กัน

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

  • อ่านพร้อมๆ กัน

    มูลค่าที่สูงกว่าทำให้วัตถุบรรลุเป้าหมายได้เร็วขึ้น

  • อ่านพร้อมๆ กัน

    ว่าผู้ใช้จะใส่ข้อมูลลงในเซิร์ฟเวอร์หรือยังคงเป็นท้องถิ่นกับไคลเอนต์เฉพาะหรือไม่ DragDetector

  • ไม่ซ้ำ
    อ่านพร้อมๆ กัน

    แกนรองของการเคลื่อนไหว

  • อ่านพร้อมๆ กัน

    หาก DragStyle เป็น Enum.DragDetectorDragStyle.RotateTrackball ตัวคูณสำหรับการเพิ่มการหมุนแบบรัศมีเป็นการบริจาคให้กับทั้งหมด

  • อ่านพร้อมๆ กัน

    หาก DragStyle เป็น Enum.DragDetectorDragStyle.RotateTrackball ตัวคูณสำหรับการเพิ่มการหมุนลูกกลิ้งไปยังทั้งหมด

  • อ่านพร้อมๆ กัน

    ในระหว่างการป้อนข้อมูล VR ตัวแก้ไข Enum.KeyCode สำหรับโหมดการเคลื่อนไหวรอง

  • ไม่ซ้ำ
    อ่านพร้อมๆ กัน

    The Axis ที่แสดงในพื้นที่โลก

  • ไม่ซ้ำ
    อ่านพร้อมๆ กัน

    The SecondaryAxis ที่แสดงในพื้นที่โลก

คุณสมบัติรับทอดมาจากClickDetector
  • CursorIcon:ContentId
    อ่านพร้อมๆ กัน

    ตั้งไอคอนเคอร์เซอร์ให้แสดงเมื่อเมาส์เลื่อนเหนือพ่อของนี้ ClickDetector หรือ DragDetector

  • อ่านพร้อมๆ กัน

    ระยะสูงสุดระหว่างตัวละครและ ClickDetector หรือ DragDetector สำหรับผู้เล่นที่จะสามารถโต้ตอบกับมันได้

วิธีการ

อีเวนต์

  • DragContinue(playerWhoDragged : Player,cursorRay : Ray,viewFrame : CFrame,vrInputFrame : OptionalCoordinateFrame,isModeSwitchKeyDown : boolean):RBXScriptSignal

    เกิดไฟไหม้เมื่อผู้ใช้ดึงวัตถุต่อไปหลังจากที่ DragStart ได้รับการเริ่มต้นแล้ว

  • DragEnd(playerWhoDragged : Player):RBXScriptSignal

    เกิดไฟไหม้เมื่อผู้ใช้หยุดลากวัตถุ

  • DragStart(playerWhoDragged : Player,cursorRay : Ray,viewFrame : CFrame,hitFrame : CFrame,clickedPart : BasePart,vrInputFrame : OptionalCoordinateFrame,isModeSwitchKeyDown : boolean):RBXScriptSignal

    เกิดไฟไหม้เมื่อผู้ใช้เริ่มลากวัตถุ

อีเวนต์รับทอดมาจากClickDetector

คุณสมบัติ

ActivatedCursorIcon

ContentId
อ่านพร้อมๆ กัน

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

เพื่อเปลี่ยนไอคอนเคอร์ที่เปิดใช้งานให้ตั้งค่าคุณสมบัตินี้เป็น ID สินทรัพย์ของภาพที่คุณต้องการใช้

ApplyAtCenterOfMass

อ่านพร้อมๆ กัน

เมื่อเท็จ (ค่าเริ่มต้น) แรงข้อจํากัดจะถูกใช้ที่จุดที่ผู้ใช้คลิกเมื่อถูกต้องแรงจะถูกใช้ที่ศูนย์กลางของมวลของวัตถุเกี่ยวข้องเฉพาะถ้า ResponseStyle เป็น Enum.DragDetectorResponseStyle.Physical และวัตถุบิดาไม่ได้ถูกยึด

ไม่ซ้ำ
อ่านพร้อมๆ กัน

แกนหลักของการเคลื่อนไหวที่แสดงเป็นเปอร์เซ็นต์เมื่อเทียบกับกรอบอ้างอิงสำหรับ DragStyle ของ Enum.DragDetectorDragStyle.TranslateLine , ทิศทางการแปล; สำหรับ Enum.DragDetectorDragStyle.TranslatePlane , ปกติไปยังแผ่นเคลื่อนที่; สำหรับ Enum.DragDetectorDragStyle.RotateAxis , แกนการหมุน 1Dการเปลี่ยนค่านี้โดยอัตโนมัติจะอัปเดต Orientation และกลับกัน

DragFrame

อ่านพร้อมๆ กัน

หากตั้งค่า ReferenceInstance ไว้ ค่า CFrame ของจุดหมุนที่เกี่ยวข้องกับกรอบอ้างอิง; มิฉะนั้นค่า CFrame ของจุดหมุนที่เกี่ยวข้องกับกรอบของมันในตอนเริ่มต้นของการลาก

อ่านพร้อมๆ กัน

แนวคิดที่ใช้ในการสร้างการเคลื่อนไหวที่เสนอโดยให้สตรีมของเรย์เคอร์เซอร์ ดู Enum.DragDetectorDragStyle สำหรับตัวเลือก

Enabled

อ่านพร้อมๆ กัน

หากเป็นจริง DragDetector จะตอบสนองต่อการป้อนของผู้ใช้; หากเป็นเท็จ มันจะไม่ทำ

GamepadModeSwitchKeyCode

อ่านพร้อมๆ กัน

ในระหว่างการใส่เกมแพด ตัว Enum.KeyCode สำหรับการสลับโหมดการเคลื่อนไหวรองใช้ได้เฉพาะถ้าตัวตรวจจับแรงดึงมีโหมดการเคลื่อนที่ทั้งแบบเบื้องต้นและรอง DragStyle

KeyboardModeSwitchKeyCode

อ่านพร้อมๆ กัน

ในระหว่างการใส่ข้อมูลบนแป้นพิมพ์, Enum.KeyCode สำหรับการสลับโหมดการเคลื่อนที่รองใช้ได้เฉพาะถ้าตัวตรวจจับแรงดึงมีโหมดการเคลื่อนที่ทั้งแบบเบื้องต้นและรอง DragStyle

MaxDragAngle

อ่านพร้อมๆ กัน

หากมากกว่า MinDragAngle แปลจะถูกจำกัดภายในช่วงนั้น

นี่ไม่ใช่ข้อจำกัด; มันเพียงแค่ขัดขวางความพยายามของเครื่องตรวจจับการเคลื่อนไหวในการสร้างการเคลื่อนไหวเพื่ออยู่ภายในขีดจำกัดดู AddConstraintFunction() เพื่อเพิ่มข้อจํากัดที่กําหนดเองให้กับการลาก

เกี่ยวข้องเฉพาะถ้า DragStyle เป็น Enum.DragDetectorDragStyle.RotateAxis

MaxDragTranslation

อ่านพร้อมๆ กัน

ในมิติใดก็ตาม หากนี้มากกว่า MinDragTranslation แปลจะถูกจำกัดภายในช่วงดังกล่าว

นี่ไม่ใช่ข้อจำกัด; มันเพียงแค่ขัดขวางความพยายามของเครื่องตรวจจับการเคลื่อนไหวในการสร้างการเคลื่อนไหวเพื่ออยู่ภายในขีดจำกัดดู AddConstraintFunction() เพื่อเพิ่มข้อจํากัดที่กําหนดเองให้กับการลาก

MaxForce

อ่านพร้อมๆ กัน

แรงสูงสุดที่ใช้กับวัตถุเพื่อให้บรรลุเป้าหมาย เฉพาะเมื่อ ResponseStyle เป็น Enum.DragDetectorResponseStyle.Physical และวัตถุบิดาไม่ได้รับการยึด

MaxTorque

อ่านพร้อมๆ กัน

แรงบิดสูงสุดที่ใช้สำหรับวัตถุเพื่อบรรลุเป้าหมาย เฉพาะเมื่อ ResponseStyle เป็น Enum.DragDetectorResponseStyle.Physical และวัตถุบนพื้นผิวไม่ได้รับการยึด

MinDragAngle

อ่านพร้อมๆ กัน

หากน้อยกว่า MaxDragAngle การแปลจะถูกจำกัดภายในช่วงดังกล่าว

นี่ไม่ใช่ข้อจำกัด; มันเพียงแค่ขัดขวางความพยายามของเครื่องตรวจจับการเคลื่อนไหวในการสร้างการเคลื่อนไหวเพื่ออยู่ภายในขีดจำกัดดู AddConstraintFunction() เพื่อเพิ่มข้อจํากัดที่กําหนดเองให้กับการลาก

เกี่ยวข้องเฉพาะถ้า DragStyle เป็น Enum.DragDetectorDragStyle.RotateAxis

MinDragTranslation

อ่านพร้อมๆ กัน

ในมิติใดก็ตาม หากน้อยกว่า MaxDragTranslation แปลจะถูกจำกัดภายในช่วงดังกล่าว

นี่ไม่ใช่ข้อจำกัด; มันเพียงแค่ขัดขวางความพยายามของเครื่องตรวจจับการเคลื่อนไหวในการสร้างการเคลื่อนไหวเพื่ออยู่ภายในขีดจำกัดดู AddConstraintFunction() เพื่อเพิ่มข้อจํากัดที่กําหนดเองให้กับการลาก

Orientation

อ่านพร้อมๆ กัน

ระบุการหมุน YXZ ของแกนการเคลื่อนที่เมื่อเทียบกับกรอบอ้างอิง (ไม่เปลี่ยนทิศทางของกรอบอ้างอิงเอง)การแปลเชิงเส้นและการหมุนแบบเขวี้ยงจะอยู่บนแกนหมุนเชิงเส้นนี้ Y และการแปลแบบเรียบในแพลน XZ การเปลี่ยนค่านี้โดยอัตโนมัติจะอัปเดต Axis และกลับกัน

อ่านพร้อมๆ กัน

ควบคุมระดับสิทธิ์ที่ผู้เล่นสามารถโต้ตอบกับ DragDetector ได้ ค่าเริ่มต้นคือ Enum.DragDetectorPermissionPolicy.Everybody

ReferenceInstance

อ่านพร้อมๆ กัน

ตัวอย่างที่ CFrame เป็นกรอบอ้างอิงสำหรับตัวตรวจจับลาก DragFrame ถูกแสดงเป็นสัดส่วนเมื่อเทียบกับ CFrame ซึ่งสามารถดึงได้ผ่านวิธี GetReferenceFrame()

หากตัวอย่างนี้เป็น PVInstance , กรอบอ้างอิงจะเป็นจุดศูนย์กลาง; หากเป็น Attachment , โลกของมันจะเป็น CFrameหากเป็น nil หรือไม่ใช่ทั้งสองอย่างก่อนหน้านี้ กรอบอ้างอิงจะขึ้นอยู่กับจุดศูนย์กลางของแผ่นตรวจจับลาก BasePart หรือ Model ของผู้ปกครอง

อ่านพร้อมๆ กัน

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

Responsiveness

อ่านพร้อมๆ กัน

มูลค่าที่สูงกว่าทำให้วัตถุบรรลุเป้าหมายได้เร็วขึ้น เฉพาะเมื่อ ResponseStyle เป็น Enum.DragDetectorResponseStyle.Physical และวัตถุรากไม่ได้ถูกยึดถือ

RunLocally

อ่านพร้อมๆ กัน

หากเป็นเท็จ (เริ่มต้น) ไคลเอนต์จะส่งสัญญาณที่ซ้ำกัน ( DragStart , DragContinue , DragEnd ) ไปยังเซิร์ฟเวอร์ที่ประมวลผลเคอร์เซอร์และทำการเปลี่ยนแปลงในโมเดลข้อมูลและส่งต่อไปยังไคลเอนต์

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

SecondaryAxis

ไม่ซ้ำ
อ่านพร้อมๆ กัน

แกนรองของการเคลื่อนไหว เกี่ยวข้องกับการจัดตำแหน่งโดยใช้แนวคิดเดียวกับ Attachments

TrackballRadialPullFactor

อ่านพร้อมๆ กัน

เมื่อเคอร์เซอร์อยู่นอกเทร็คบอล ตัว DragDetector สามารถใช้การหมุนแบบรัศมีที่หมุนลูกบอลให้เหมือนกับว่ากำลังพยายามที่จะกลิ้งออกไปในทิศทางของเคอร์เซอร์คุณสมบัตินี้เป็นตัวคูณ 0 ถึง 1 สำหรับการเพิ่มการหมุนนั้นเป็นการบริจาคให้กับทั้งหมดเกี่ยวข้องเฉพาะถ้า DragStyle เป็น Enum.DragDetectorDragStyle.RotateTrackball

TrackballRollFactor

อ่านพร้อมๆ กัน

เมื่อเคอร์เซอร์อยู่นอกเนื้อบอลล์แล้ว DragDetector สามารถใช้การหมุนกลิ้งที่เปลี่ยนลูกบอลให้เหมือนว่าติดตั้งบนบันทึกไวนิลที่เผื่อนหน้าผู้ดูคุณสมบัตินี้เป็นตัวคูณ 0 ถึง 1 สำหรับการเพิ่มการหมุนแบบม้วนนั้นให้กับทั้งหมดเกี่ยวข้องเฉพาะถ้า DragStyle เป็น Enum.DragDetectorDragStyle.RotateTrackball

VRSwitchKeyCode

อ่านพร้อมๆ กัน

ในระหว่างการป้อน VR ตัว Enum.KeyCode สำหรับการสลับโหมดการเคลื่อนไหวรองใช้ได้เฉพาะถ้าตัวตรวจจับแรงดึงมีโหมดการเคลื่อนที่ทั้งแบบเบื้องต้นและรอง DragStyle

WorldAxis

ไม่ซ้ำ
อ่านพร้อมๆ กัน

The Axis ที่แสดงในพื้นที่โลก เกี่ยวข้องกับการจัดตำแหน่งโดยใช้แนวคิดเดียวกับ Attachments

WorldSecondaryAxis

ไม่ซ้ำ
อ่านพร้อมๆ กัน

The SecondaryAxis ที่แสดงในพื้นที่โลก เกี่ยวข้องกับการจัดตำแหน่งโดยใช้แนวคิดเดียวกับ Attachments

วิธีการ

AddConstraintFunction

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

เพื่อลบฟังก์ชันข้อจํากัดที่เพิ่มเข้ามา โทร Disconnect() ที่วัตถุเชื่อมต่อที่คืนกลับ

พารามิเตอร์

priority: number

ลําดับความสําคัญสําหรับฟังก์ชันที่เพิ่มผ่านวิธีนี้ ค่าที่สูงกว่ามีลําดับความสําคัญสูงกว่าค่าที่ต่ํากว่า

ค่าเริ่มต้น: ""
function: function

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

ค่าเริ่มต้น: ""

ส่งค่ากลับ

ใช้วัตถุการเชื่อมต่อนี้เพื่อลบฟังก์ชันข้อจำกัด

GetReferenceFrame

คืนอ้างอิง CFrame ในซึ่งการเคลื่อนไหวถูกแสดงออก; ดูคุณสมบัติ ReferenceInstance สำหรับรายละเอียดเพิ่มเติม


ส่งค่ากลับ

อ้างอิง CFrame ในซึ่งการเคลื่อนไหวถูกแสดงออก

RestartDrag

()

อาจถูกเรียกจากสคริปต์เพื่อรีสตาร์ทการลากโดยใช้พารามิเตอร์ใหม่หากพารามิเตอร์เช่น DragStyle , Axis หรือ SecondaryAxis เปลี่ยนแปลง


ส่งค่ากลับ

()

SetDragStyleFunction

()

ส่งฟังก์ชันที่จะใช้หากและเฉพาะหาก DragStyle ถูกตั้งค่าเป็น Enum.DragDetectorDragStyle.Scriptableฟังก์ชันที่กำหนดจะเรียกเมื่อตอบสนองต่อสัญญาณ DragContinue จะได้รับเรย์เคอร์เวิลด์พื้นที่สัญญาณด้วยประเภท Ray และจะส่งคืนเรย์ที่มีตำแหน่งและทิศทางที่ต้องการของจุดศูนย์กลางในพื้นที่โลก ซึ่งมีประเภท CFrame

หากฟังก์ชัน返回值 nil วัตถุจะไม่ถูกย้ายนี่มีประโยชน์หากสคริปต์ยังไม่ได้รวบรวมข้อมูลทั้งหมดที่ต้องการให้ได้คำตอบที่ถูกต้อง หรือในกรณีชั่วคราวที่คุณต้องการให้วัตถุอยู่ที่เดิม

พารามิเตอร์

function: function

ฟังก์ชันสำหรับการตรวจสอบสัญญาณ DragContinueฟังก์ชันนี้ได้รับเรย์เคอร์เวิลด์พื้นที่สัญญาณและมันจะส่งคืน CFrame ที่มีสถานที่และทิศทางที่ต้องการของจุดศูนย์กลางในพื้นที่โลกหากฟังก์ชันนี้返回 nil วัตถุจะไม่ถูกย้าย

ค่าเริ่มต้น: ""

ส่งค่ากลับ

()

SetPermissionPolicyFunction

()

ส่งฟังก์ชันที่จะใช้หากและเฉพาะหาก PermissionPolicy ถูกตั้งค่าเป็น Enum.DragDetectorPermissionPolicy.Scriptableฟังก์ชันที่ให้มารับพารามิเตอร์ Player สําหรับการเปิดใช้งาน/ปิดใช้งานเครื่องตรวจจับสําหรับผู้เล่นบางรายนอกจากนี้ยังได้รับพารามิเตอร์ part ที่บ่งบอกถึงการคลิกที่เฉพาะเจาะจง BasePart เช่นส่วนหนึ่งภายในส่วนลากได้ Model ; สิ่งนี้มีประโยชน์สำหรับการเปิดใช้งาน/ปิดใช้งานเครื่องตรวจจับตามค่า Name , Color , HasTag() หรือรายละเอียดอื่นๆ


local dragDetector = script.Parent.DragDetector
dragDetector.PermissionPolicy = Enum.DragDetectorPermissionPolicy.Scriptable
dragDetector:SetPermissionPolicyFunction(function(player, part)
if player and player:GetAttribute("IsInTurn") then
return true
elseif part and not part:GetAttribute("IsDraggable") then
return false
else
return true
end
end)

พารามิเตอร์

function: function

ฟังก์ชันสำหรับการตั้งค่าการโต้ตอบของเครื่องตรวจจับฟังก์ชันนี้รับพารามิเตอร์ Player สําหรับการเปิดใช้งาน/ปิดใช้งานเครื่องตรวจจับสําหรับผู้เล่นคนเฉพาะนอกจากนี้ยังได้รับพารามิเตอร์ part ที่บ่งบอกถึงการคลิกที่เฉพาะเจาะจง BasePart เช่นส่วนหนึ่งภายในแอปพลิเคชันที่สามารถลากได้ Model ; สิ่งนี้มีประโยชน์สำหรับการเปิดใช้งาน/ปิดใช้งานเครื่องตรวจจับตามค่า Name , Color , HasTag() หรือรายละเอียดอื่นๆ

ค่าเริ่มต้น: ""

ส่งค่ากลับ

()

อีเวนต์

DragContinue

เกิดไฟไหม้เมื่อผู้ใช้ดึงวัตถุต่อไปหลังจากที่ DragStart ได้รับการเริ่มต้นแล้ว

พารามิเตอร์

playerWhoDragged: Player

ผู้ที่ Player เริ่มการลากผ่าน DragStart และกําลังดําเนินการลากต่อไป

cursorRay: Ray

Ray ปล่อยจากเคอร์เซอร์ไปยังฉาก

viewFrame: CFrame

CFrame ของผู้ใช้ Camera .

vrInputFrame: OptionalCoordinateFrame

หากใช้อุปกรณ์อินพุต VR ตัว CFrame ของมือที่ถือเคอร์เซอร์/เพอร์เฟอร์/คอนโทรล

isModeSwitchKeyDown: boolean

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


DragEnd

เกิดไฟไหม้เมื่อผู้ใช้หยุดลากวัตถุ

พารามิเตอร์

playerWhoDragged: Player

ผู้ที่ Player เริ่มการลากผ่าน DragStart และตอนนี้สิ้นสุด (ปล่อย) การลากแล้ว


DragStart

เกิดไฟไหม้เมื่อผู้ใช้เริ่มลากวัตถุ

พารามิเตอร์

playerWhoDragged: Player

Player ผู้ที่เริ่มการลาก

cursorRay: Ray

Ray ปล่อยจากเคอร์เซอร์ไปยังฉาก

viewFrame: CFrame

CFrame ของผู้ใช้ Camera .

hitFrame: CFrame

กรอบการโจมตีของเรย์เคสเซอร์ที่เริ่มการลาก

clickedPart: BasePart

ส่วนที่ถูกโจมตีโดยเรย์คาสต์เคอร์เซอร์ที่เริ่มการลาก

vrInputFrame: OptionalCoordinateFrame

หากใช้อุปกรณ์อินพุต VR ตัว CFrame ของมือที่ถือเคอร์เซอร์/เพอร์เฟอร์/คอนโทรล

isModeSwitchKeyDown: boolean

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