Seat
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
ประเภทของ BasePart ที่ผู้เล่นสามารถนั่งได้ เมื่อตัวละครของผู้เล่นสัมผัสกับวัตถุเวทีที่เปิดใช้งาน จะถูกแนบมาที่ชิ้นส่วนโดยการใช้ Weld และสคริปต์ตัวละค
Seats ทำงานอย่างไร
เมื่อโมเดลที่มี Humanoid และ BasePart ที่เรียกว่า 'HumanoidRootPart' (โดยทั
เมื่อนั่งสมบุรณ์ Seat.Occupant สมบุรณ์อยู่ใน Humanoid ที่นั่ง นอกจากนี้สมบุรณ์ Humanoid.SeatPart ของสมบุรณ์จะถูกตั้งไว้ในที่นั่ง
ตัวละครยังสามารถถูกบังคับให้นั่งในที่นั่งโดยใช้คุณสมบัติ Seat:Sit()
มีสองวิธีสำหรับตัวละครที่จะออกจากที่นั่ง เมื่อผู้เล่นกระโดดออกจากที่นั่งพวกเขาจะถูกนำออกจากที่นั่ง อย่างไรก็ตามนี่ยังสามารถทำได้โดยการทำลายตะปูที่นั่งเช่น:
ที่นั่ง: ค้นหาลูกชายแรก ("SeatWeld") : ทำลาย()
หมายเหตุที่นั่งมีคูลดาวน์ (ปัจจุบัน 3 วินาที) ที่อยู่บนพื้นฐานต่อตัวละครต่อที่นั่ง นี่หมายความว่าเมื่อตัวละครออกจากที่นั่งพวกเขาไม่สามารถนั่งอีกครั้งในที่นั่งเดียวก
Seats สามารถใช้สำหรับอะไร?
มีการใช้งานที่หลากหลาย ตั้งแต่ชัดเจนไปจนถึงไม่ธรรมดา
- สร้างเก้าอี้หรือบันไดที่ไม่มีความจำเป็นต้องใช้การเขียนโปรแกรม
- สามารถให้ตัวละคร 'นั่ง' ในวัตถุที่เคลื่อนที่ได้เช่นยานพาหนะโดยไม่ต้องหมุน
- การสร้างระบบควบคุมโดยตัวละครในที่นั่งโดยใช้สมบัติสมบัติ 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)
สรุป
คุณสมบัติ
ว่าจะใช้หรือไม่ หากตั้งค่าเป็น true จะทำให้ที่นั่งเป็นส่วนปกติ
หุ่นมนุษย์ที่นั่งอยู่ในที่นั่ง
ตั้งค่ารูปร่างทั่วไปของวัตถุ
กำหนดว่าชิ้นส่วนนั้นเป็นของเหนียวตามธรรมชาติหรือไม่
ความเร็วมุมของการประกอบของชิ้นส่วน
ศูนย์กลางของพลังงานในการประกอบของชิ้นส่วนในอวกาศ
ความเร็วที่เฉียบขาดของการประกอบของชิ้นส่วน
พลังงานทั้งหมดของการประกอบของชิ้นส่วน
อ้างอิงถึงส่วนรากของการประกอบ
กำหนดประเภทของพื้นผิวสำหรับหน้าด้านหลังของชิ้นส่วน (+Z ทิศทาง)
กำหนดประเภทของพื้นผิวสำหรับด้านล่างของชิ้นส่วน (-Y ทิศทาง)
กำหนดสีของชิ้นส่วน
กำหนดตำแหน่งและทิศทางของ BasePart ในโลก
กำหนดว่าชิ้นส่วนอาจชนกับชิ้นส่วนอื่น
กำหนดว่าจะใช้การสอบถามข้อมูลทางอาณาเขตในขั้นตอนการประมวลผลหรือไม่
กำหนดว่า Touched และ TouchEnded เหตุการณ์จะเกิดขึ้นบนชิ้นส่วน
กำหนดว่าจะมีเงาหรือไม่มีเงา
อธิบายตำแหน่งกลางของมวลของชิ้นส่วน
อธิบายชื่อกลุ่มความสามัคคีของชิ้นส่วน
กำหนดสีของชิ้นส่วน
ระบุลักษณะทางกายภาพปัจจุบันของชิ้นส่วน
กำหนดสมบัติภาพทางกายภาพหลายอย่างของชิ้นส่วน
ใช้เพื่อเปิดใช้งานหรือปิดการใช้งานแรงโน้มถ่วงบนชิ้นส่วนและการประกอบ
ขนาดทางกายภาพจริงของ BasePart ตามที่เครื่องจักรฟิสิกส์มองว่า
กำหนดประเภทของพื้นผิวสำหรับหน้าผากของชิ้นส่วน (-Z ทิศทาง)
กำหนดประเภทของพื้นผิวสำหรับหน้าซ้ายของชิ้นส่วน (-X ทิศทาง)
กำหนดตัวคูณสำหรับ BasePart.Transparency ที่มองเห็นได้เฉพาะลูกค้าท้องถิ่นเท่านั้น
กำหนดว่าจุดส่วนหนึ่งสามารถเลือกได้ใน Studio
อธิบายปริมาณของชิ้นส่วน ผลิตภัณฑ์ของความหนาแน่นและปริมาณ
กำหนดว่าส่วนหนึ่งมีส่วนร่วมกับพลังงานทั้งหมดหรือความต้องการในตัวเองของร่างกายที่แข็งแกร่ง
กำหนดคุณสมบัติและคุณสมบัติทางกายภาพปกติของชิ้นส่วน
ชื่อของ MaterialVariant
อธิบายการหมุนของชิ้นส่วนในโลก
ระบุค่าเฉลี่ยของส่วนหมุนจาก Datatype.CFrame ของมัน
อธิบายตำแหน่งของชิ้นส่วนในโลก
เวลาตั้งแต่อัปเดตฟิสิกส์ครั้งล่าสุด
กำหนดว่าส่วนใดสะท้อนสกายบ็อกซ์ได้มาก
อธิบายการเปลี่ยนแปลงขนาดเล็กสุดที่อนุญาตโดยวิธีขยาย
อธิบายใบหน้าที่ส่วนหนึ่งอาจเปลี่ยนขนาด
กำหนดประเภทของพื้นผิวสำหรับด้านขวาของชิ้นส่วน (+X ทิศทาง)
กฎหลักในการกำหนดราก้อนของการประกอบการ
การหมุนของส่วนในองศาสำหรับสามแกน
กำหนดความสูงของชิ้นส่วน (ความสูง) ความกว้าง (ความกว้าง) และความสูง (ความสูง)
กำหนดประเภทของพื้นผิวสำหรับหน้าด้านบนของชิ้นส่วน (+Y ทิศทาง)
กำหนดว่าส่วนหนึ่งสามารถมองเห็นได้มากเท่าไหร่ (คือสิ่งที่ผิดพลาดของความโปร่งใสของส่วน)
วิธีการ
บังคับตัวละครด้วย Humanoid ที่กำหนดให้นั่งลงในที่นั่ง
ใช้แรงผลักแบบมุมเพื่อประกอบ
ใช้แรงผลักในการประยุกต์ใช้งานต่อวงจรที่ center of mass
ใช้แรงผลักไปยังการประกอบในตำแหน่งที่กำหนด
กลับว่าชิ้นส่วนสามารถชนกันได้หรือไม่
ตรวจสอบว่าคุณสามารถตั้งค่าเครือข่ายของบางส่วนได้หรือไม่
กลับตารางของชิ้นส่วนที่เชื่อมต่อกับวัตถุโดยประเภทของข้อต่อที่แข็งแกร่ง
กลับส่วนของร่วมหรือข้อจํากัดที่เชื่อมต่อกับส่วนนี้
กลับค่าของสมบัติสินค้า Mass
กลับผู้เล่นปัจจุบันที่เป็นเจ้าของเครือข่ายของส่วนนี้ หรือ zero ในกรณีของเซิร์ฟเวอร์
กลับ true หากเครื่องยนต์เกมตัดสินผู้สมัครเครือข่ายสำหรับส่วนนี้โดยอัตโนมัติ
กลับส่วนปูมของการรวบรวมของชิ้นส่วน
กลับตารางของ all BasePart.CanCollide ชิ้นส่วนที่เป็นส่วนหนึ่งกับส่วนนี้
กลับค่าความเร็วเส้นที่เป็นลินเนียมของการประกอบของชิ้นส่วนที่ให้ไว้ในตำแหน่งนี้เมื่อเปรียบเทียบกับตำแหน่งนี้
กลับ true หากวัตถุเชื่อมต่อกับส่วนที่จะรองรับมันในที่ (เช่น Anchored ส่วน) ยกเว้นกลับ false หากเป็นกรณีอื่น
เปลี่ยนขนาดของวัตถุเหมือนการใช้เครื่องมือขยายขนาดใน Studio
ตั้งผู้เล่นที่ให้เป็นเจ้าของเครือข่ายสำหรับส่วนนี้และส่วนที่เชื่อมต่ออื่น ๆ
ให้เครื่องมือเกมตัดสินใจได้อย่างไดนามิกว่าใครจะดูแลฟิสิกส์ของชิ้นส่วน (หนึ่งในลูกค้าหรือเซิร์ฟเวอร์)
- 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 ใหม่จากส่วน รวมถึงภาพที่เป็นรูปร่างที่ครอบครองพื้นที่ส่วนในแผงที่ให้
รับ pivot ของ Class.PVInstance
แปลง PVInstance พร้อมกับบรรพบุรุษทั้งหมดของมัน PVInstances เพื่อให้ pivot ตอนนี้อยู่ที่ CFrame ที่กำหนด
อีเวนต์
อีเวนต์รับทอดมาจากBasePartเกิดขึ้นเมื่อชิ้นส่วนหยุดแตะอีกชิ้นส่วนในผลมาจากการเคลื่อนที่ทางกายภาพ
เกิดขึ้นเมื่อชิ้นส่วนสัมผัสกับอีกชิ้นส่วนในผลมาจากการเคลื่อนที่ทางกายภาพ