Seat

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

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

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

ที่นั่งทำงานอย่างไร?

เมื่อรูปแบบที่มี Humanoid และ BasePart เรียกว่า 'HumanoidRootPart' (โดยทั่วไปเป็นตัวละครผู้เล่น) สัมผัสที่นั่ง จะถูกสร้าง Weld ระหว่างที่นั่งและส่วนคุณสมบัติ C0 และ C1 จะได้รับการกำหนดค่าเพื่อให้ตัวละครถูกเชื่อมติดกับที่นั่ง 2 สตัดการเชื่อมนี้มีชื่อว่า 'SeatWeld' และเป็นบุตรของที่นั่ง

เมื่อนั่งคุณสมบัติ Seat.Occupant จะถูกตั้งค่าเป็น Humanoid ที่ 'นั่ง' ในที่นั่งนอกจากนี้คุณสมบัติ Humanoid.SeatPart ของหุ่นยนต์จะถูกตั้งค่าเป็นที่นั่ง

ตัวละครยังสามารถถูกบังคับให้นั่งในที่นั่งโดยใช้ฟังก์ชัน Seat:Sit()

มีสองวิธีที่ตัวละครจะออกจากที่นั่งเมื่อผู้เล่นกระโดด พวกเขาจะถูกลบออกจากที่นั่งอย่างไรก็ตามสิ่งนี้ยังสามารถทำได้ด้วยตนเองโดยการทําลายการเชื่อมต่อที่นั่งเช่น:

ที่นั่ง: ค้นหาลูกแรก ("SeatWeld": ทำลาย):

ที่นั่งโน้ตมีคูลดาวน์ (ปัจจุบัน 3 วินาที) ที่อยู่บนพื้นฐานต่อตัวอักษรต่อที่นั่งซึ่งหมายความว่าเมื่อตัวละครออกจากที่นั่งแล้วพวกเขาไม่สามารถนั่งกลับบนที่นั่งเดียวกันได้ภายใน 3 วินาทีพฤติกรรมการระบายความร้อนนี้อาจเปลี่ยนแปลงและไม่ควรพึ่งพาโดยนักพัฒนา

ที่นั่งสามารถใช้สำหรับอะไรได้บ้าง?

ที่นั่งมีหลากหลายการใช้งาน ตั้งแต่ชัดเจนไปจนถึงไม่ธรรมดา

  • สร้างเก้าอี้หรือม้านั่งโดยไม่ต้องมีการเขียนโปรแกรม
  • อนุญาตให้ตัวละคร 'นั่ง' ในวัตถุเคลื่อนที่เช่นยานพาหนะโดยไม่ถูกโยนไปรอบๆ
  • การสร้างอินเทอร์เฟซที่ควบคุมโดยตัวละครในที่นั่งโดยใช้คุณสมบัติ Seat.Occupant

ตัวอย่างโค้ด

This code sample includes a demonstration of how the Seat.Occupant property can be used to track which player is sitting in a seat and when they sit down or sit up.

Detecting Seat Occupant

local Players = game:GetService("Players")
local seat = Instance.new("Seat")
seat.Anchored = true
seat.Position = Vector3.new(0, 1, 0)
seat.Parent = workspace
local currentPlayer = nil
local function onOccupantChanged()
local humanoid = seat.Occupant
if humanoid then
local character = humanoid.Parent
local player = Players:GetPlayerFromCharacter(character)
if player then
print(player.Name .. " has sat down")
currentPlayer = player
return
end
end
if currentPlayer then
print(currentPlayer.Name .. " has got up")
currentPlayer = nil
end
end
seat:GetPropertyChangedSignal("Occupant"):Connect(onOccupantChanged)

สรุป

คุณสมบัติ

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

    ว่าที่นั่งจะใช้งานได้หรือไม่ หากตั้งค่าเป็นจริง ที่นั่งจะทำหน้าที่เป็นส่วนปกติ

  • อ่านอย่างเดียว
    ไม่ซ้ำ
    อ่านพร้อมๆ กัน

    มนุษย์ที่นั่งอยู่ในที่นั่ง

คุณสมบัติรับทอดมาจากPart
  • ไม่ซ้ำ
    อ่านพร้อมๆ กัน

    กำหนดรูปร่างโดยรวมของวัตถุ

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

    กำหนดว่าชิ้นส่วนเป็นอนันต์ตามฟิสิกส์หรือไม่

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

    ความเร็วในแนวมุมของการประกอบชิ้นส่วน

  • อ่านอย่างเดียว
    ไม่ซ้ำ
    อ่านพร้อมๆ กัน

    ศูนย์กลางของมวลของการประกอบชิ้นส่วนในพื้นที่โลก

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

    ความเร็วเชิงเส้นของการประกอบชิ้นส่วน

  • อ่านอย่างเดียว
    ไม่ซ้ำ
    อ่านพร้อมๆ กัน

    มวลรวมของการประกอบชิ้นส่วน

  • อ่านอย่างเดียว
    ไม่ซ้ำ
    อ่านพร้อมๆ กัน

    การอ้างอิงถึงส่วนรากของการประกอบ

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

    กำหนดประเภทพื้นผิวสำหรับด้านหลังของชิ้นส่วน (+Z ทิศทาง)

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

    กำหนดประเภทพื้นผิวสำหรับด้านล่างของชิ้นส่วน (-Y ทิศทาง)

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

    กำหนดสีของชิ้นส่วน

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

    กำหนดตำแหน่งและทิศทางของ BasePart ในโลก

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

    กำหนดว่าชิ้นส่วนจะชนกับชิ้นส่วนอื่นหรือไม่

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

    กำหนดว่าชิ้นส่วนจะถูกพิจารณาในระหว่างการดำเนินการค้นหาในพื้นที่หรือไม่

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

    กำหนดว่าจะมีการเรียกใช้อีเวนต์ Touched และ TouchEnded บนส่วนหรือไม่

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

    กำหนดว่าส่วนใดมีเงาหรือไม่

  • อ่านอย่างเดียว
    ไม่ซ้ำ
    อ่านพร้อมๆ กัน

    อธิบายตำแหน่งของโลกที่ศูนย์กลางของมวลของชิ้นส่วนอยู่

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

    อธิบายชื่อกลุ่มการชนกันของชิ้นส่วน

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

    กำหนดสีของชิ้นส่วน

  • อ่านอย่างเดียว
    ไม่ซ้ำ
    อ่านพร้อมๆ กัน

    บ่งชี้คุณสมบัติทางกายภาพปัจจุบันของชิ้นส่วน

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

    กำหนดคุณสมบัติทางกายภาพหลายอย่างของชิ้นส่วน

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

    ใช้เพื่อเปิดใช้งานหรือปิดใช้งานแรงอากาศในชิ้นส่วนและชิ้นส่วนประกอบ

  • อ่านอย่างเดียว
    ไม่ซ้ำ
    อ่านพร้อมๆ กัน

    The CFrame ของระยะทางทางกายภาพของ BasePart .

  • อ่านอย่างเดียว
    ไม่ซ้ำ
    อ่านพร้อมๆ กัน

    ขนาดทางกายภาพที่แท้จริงของ BasePart ตามที่เครื่องกลศาสตร์กำหนด

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

    กำหนดประเภทพื้นผิวสำหรับด้านหน้าของชิ้นส่วน (-Z ทิศทาง)

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

    กำหนดประเภทพื้นผิวสำหรับด้านซ้ายของชิ้นส่วน (-X ทิศทาง)

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

    กำหนดตัวคูณสำหรับ BasePart.Transparency ที่มองเห็นได้เฉพาะกับไคลเอนต์ท้องถิ่นเท่านั้น

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

    กำหนดว่าส่วนใดสามารถเลือกได้ใน Studio

  • อ่านอย่างเดียว
    ไม่ซ้ำ
    อ่านพร้อมๆ กัน

    อธิบายมวลของชิ้นส่วน ผลิตภัณฑ์ของความหนาแน่นและปริมาณ

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

    กำหนดว่าชิ้นส่วนมีส่วนร่วมในมวลหรือแรงเฉื่อยของร่างกายแข็งหรือไม่

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

    กำหนดเทกเจอร์และคุณสมบัติทางกายภาพเริ่มต้นของชิ้นส่วน

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

    ชื่อของ MaterialVariant .

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

    อธิบายการหมุนของชิ้นส่วนในโลก

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

    ระบุออฟเซ็ตของจุดศูนย์กลางของชิ้นส่วนจาก CFrame ของมัน

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

    อธิบายตำแหน่งของชิ้นส่วนในโลก

  • ซ่อนอยู่
    อ่านอย่างเดียว
    ไม่ซ้ำ
    อ่านพร้อมๆ กัน

    เวลาตั้งแต่อัปเดตฟิสิกส์ครั้งล่าสุด

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

    กำหนดจํานวนส่วนที่สะท้อนกล่องท้องฟ้าได้

  • อ่านอย่างเดียว
    ไม่ซ้ำ
    อ่านพร้อมๆ กัน

    อธิบายการเปลี่ยนแปลงขนาดเล็กที่สุดที่อนุญาตโดยวิธีการปรับขนาด

  • อ่านอย่างเดียว
    ไม่ซ้ำ
    อ่านพร้อมๆ กัน

    อธิบายใบหน้าที่ส่วนสามารถปรับขนาดได้

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

    กำหนดประเภทพื้นผิวสำหรับด้านขวาของชิ้นส่วน (+X ทิศทาง)

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

    กฎหลักในการกำหนดส่วนรากของการประกอบ

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

    การหมุนของชิ้นส่วนในองศาสำหรับสามแกน

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

    กำหนดขนาดของชิ้นส่วน (ความยาว ความกว้าง ความสูง)

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

    กำหนดประเภทพื้นผิวสำหรับด้านบนของชิ้นส่วน (+Y ทิศทาง)

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

    กำหนดจำนวนส่วนที่สามารถมองเห็นได้ผ่าน (ตรงกันข้ามของความทึบของส่วน)

คุณสมบัติรับทอดมาจากPVInstance
  • ไม่ซ้ำ
    ไม่สามารถเขียนสคริปต์
    อ่านพร้อมๆ กัน
  • ไม่ซ้ำ
    ไม่สามารถเขียนสคริปต์
    อ่านพร้อมๆ กัน

วิธีการ

  • Sit(humanoid : Instance):()

    บังคับตัวละครที่มี Humanoid ที่กำหนดไว้ให้นั่งในที่นั่ง

วิธีการรับทอดมาจากBasePart
  • AngularAccelerationToTorque(angAcceleration : Vector3,angVelocity : Vector3):Vector3
  • ใช้แรงกระตุกแบบมุมกับการประกอบ

  • ApplyImpulse(impulse : Vector3):()

    ใช้แรงกระตุ้นกับการประกอบที่การประกอบ center of mass .

  • ApplyImpulseAtPosition(impulse : Vector3,position : Vector3):()

    ใช้แรงกระตุ้นกับการประกอบในตำแหน่งที่กำหนด

  • เขียนพร้อมๆ กัน

    ส่งคืนว่าชิ้นส่วนสามารถชนกันได้หรือไม่

  • ตรวจสอบว่าคุณสามารถกำหนดสิทธิ์เจ้าของเครือข่ายส่วนได้หรือไม่

  • GetConnectedParts(recursive : boolean):Instances
    เขียนพร้อมๆ กัน

    คืนตารางชิ้นส่วนที่เชื่อมโยงกับวัตถุโดยใช้ข้อต่อแข็งใดๆ

  • GetJoints():Instances
    เขียนพร้อมๆ กัน

    คืนข้อต่อหรือข้อจำกัดทั้งหมดที่เชื่อมโยงกับส่วนนี้

  • เขียนพร้อมๆ กัน

    ส่งค่าของคุณสมบัติ Mass กลับ

  • เขียนพร้อมๆ กัน

    ส่งคืนผู้เล่นปัจจุบันที่เป็นเจ้าของเครือข่ายส่วนนี้หรือ nil ในกรณีของเซิร์ฟเวอร์

  • เขียนพร้อมๆ กัน

    ส่งคืนค่าจริงหากเครื่องเกมตัดสินเจ้าของเครือข่ายสำหรับส่วนนี้โดยอัตโนมัติ

  • เขียนพร้อมๆ กัน

    คืนส่วนฐานของการประกอบชิ้นส่วน

  • GetTouchingParts():Instances

    คืนตารางของชิ้นส่วนทั้งหมด BasePart.CanCollide ที่ถูกตัดกับชิ้นส่วนนี้

  • เขียนพร้อมๆ กัน

    คืนความเร็วเชิงเส้นของการประกอบชิ้นส่วนในตำแหน่งที่กำหนดเมื่อเทียบกับชิ้นส่วนนี้

  • เขียนพร้อมๆ กัน

    ส่งคืนจริงหากวัตถุเชื่อมต่อกับส่วนที่จะถือไว้ในตําแหน่ง (เช่นส่วน Anchored ) มิฉะนั้นจะส่งคืนเป็นเท็จ

  • Resize(normalId : Enum.NormalId,deltaAmount : number):boolean

    เปลี่ยนขนาดของวัตถุเช่นเดียวกับการใช้เครื่องมือปรับขนาดของ Studio

  • SetNetworkOwner(playerInstance : Player):()

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

  • ให้เครื่องเกมตัดสินได้อย่างไดนามิกว่าใครจะจัดการกับฟิสิกส์ของชิ้นส่วน (หนึ่งในไคลเอนต์หรือเซิร์ฟเวอร์)

  • IntersectAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
    ผลตอบแทน

    สร้างใหม่ IntersectOperation จากเรขาคณิตที่ซ้อนทับของชิ้นส่วนและชิ้นส่วนอื่นๆ ในช่วงที่กำหนด

  • SubtractAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
    ผลตอบแทน

    สร้างใหม่ UnionOperation จากส่วนโดยลบเอกภาพที่ใช้โดยชิ้นส่วนในช่องที่กำหนด

  • UnionAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
    ผลตอบแทน

    สร้างใหม่ UnionOperation จากส่วน, บวกกับรูปร่างที่ใช้โดยชิ้นส่วนในช่วงที่กำหนด

วิธีการรับทอดมาจากPVInstance
  • เขียนพร้อมๆ กัน

    รับจุดศูนย์กลางของ PVInstance .

  • PivotTo(targetCFrame : CFrame):()

    เปลี่ยน PVInstance พร้อมกับบรรดาลูกหลานทั้งหมดของมัน PVInstances ทำให้จุดศูนย์กลางอยู่ที่ตําแหน่งที่ระบุแล้ว CFrame

อีเวนต์

อีเวนต์รับทอดมาจากBasePart
  • ไฟเมื่อชิ้นหยุดสัมผัสอีกชิ้นเนื่องจากการเคลื่อนไหวทางกายภาพ

  • ไฟเมื่อชิ้นส่วนสัมผัสกับชิ้นส่วนอื่นเนื่องจากการเคลื่อนไหวทางกายภาพ

คุณสมบัติ

Disabled

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

ว่าที่นั่งจะใช้งานได้หรือไม่ หากตั้งค่าเป็นจริง ที่นั่งจะทำหน้าที่เป็นส่วนปกติ

Occupant

อ่านอย่างเดียว
ไม่ซ้ำ
อ่านพร้อมๆ กัน

มนุษย์ที่นั่งอยู่ในที่นั่ง

วิธีการ

Sit

()

บังคับตัวละครที่มี Humanoid ที่กำหนดไว้ให้นั่งในที่นั่ง

พารามิเตอร์

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

ส่งค่ากลับ

()

อีเวนต์