Seat
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Một loại BasePart mà một nhân vật người chơi có thể "ngồi" vào.Khi một nhân vật chạm vào một đối tượng Ghế đã bật, nó sẽ được gắn vào phần bởi một Weld và các kịch bản nhân vật mặc định sẽ chơi một hoạt hiệu ứng độngngồi.
Ghế hoạt động như thế nào?
Khi một mô hình chứa một Humanoid và một BasePart gọi 'HumanoidRootPart' (thông thường là một nhân vật người chơi) chạm vào một chỗ ngồi, một Weld được tạo ra giữa chỗ ngồi và phần.Các thuộc tính C0 và C1 được cấu hình để nhân vật được hàn 2 đinh tán trên ghế.Mối hàn này được đặt tên là 'SeatWeld' và thuộc về ghế.
Khi ngồi tính chất Seat.Occupant tài sản được đặt thành Humanoid đang 'ngồi' trên chỗ ngồi.Ngoài ra, thuộc tính Humanoid.SeatPart của con người được đặt vào ghế.
Một nhân vật cũng có thể bị buộc phải ngồi vào một chỗ bằng cách sử dụng chức năng Seat:Sit().
Có hai cách mà một nhân vật có thể thoát khỏi chỗ ngồi.Khi một người chơi nhảy, họ được loại bỏ khỏi ghế.Tuy nhiên, điều này cũng có thể được thực hiện thủ công bằng cách phá hủy lớp hàn ghế, ví dụ:
ghế ngồi:FindFirstChild("SeatWeld"):Phá hủy()
Ghế lưu ý có thời gian chờ (hiện tại là 3 giây) được trên cơ sở mỗi ký tự mỗi chỗ ngồi.Điều này có nghĩa là một khi một nhân vật đã ra khỏi chỗ ngồi họ không thể ngồi lại trên cùng một chỗ ngồi trong 3 giây.Hành vi chờ đợi này có thể thay đổi và không nên dựa vào các nhà phát triển.
Ghế có thể được sử dụng cho những gì?
Ghế có nhiều cách sử dụng khác nhau, từ rõ ràng đến không thông thường hơn.
- Tạo ghế hoặc băng ghế mà không cần bất kỳ lập trình nào
- Cho phép các nhân vật 'ngồi' trong các đối tượng di chuyển như xe mà không bị ném ra xung quanh
- Tạo giao diện được kiểm soát bởi nhân vật trong ghế bằng cách sử dụng thuộc tính Seat.Occupant
Mẫu mã
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.
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)
Tóm Tắt
Thuộc Tính
Liệu ghế có thể sử dụng hay không. Nếu được đặt thành true, ghế sẽ hoạt động như một phần bình thường.
Người hình người đang ngồi trên ghế.
Xác định hình dạng tổng thể của đối tượng.
Xác định xem một phần có bất di chuyển bởi vật lý hay không.
Tốc độ góc của lắp ráp phần.
Trung tâm của khối lượng của lắp ráp phần trong không gian thế giới.
Tốc độ song song của lắp ráp phần.
Tổng khối lượng lắp ráp của phần.
Một tham chiếu đến phần gốc của lắp ráp.
Xác định loại bề mặt cho mặt sau của một phần (+hướng Z).
Xác định loại bề mặt cho mặt dưới của một phần (-Y hướng).
Xác định màu của một phần.
Xác định vị trí và hướng của BasePart trong thế giới.
Xác định xem một phần có thể va chạm với các phần khác hay không.
Xác định xem phần có được xem xét trong các hoạt động truy vấn không gian không.
Xác định xem sự kiện Touched và TouchEnded có bắt lửa trên phần hay không.
Xác định xem một phần có phải phát ra bóng hay không.
Mô tả vị trí thế giới mà trung tâm khối lượng của một phần nằm.
Mô tả tên của nhóm va chạm của một phần.
Xác định màu của một phần.
Chỉ ra các tính chất vật lý hiện tại của phần.
Xác định một số tính chất vật lý của một phần.
Dùng để bật hoặc tắt lực khí động trên các bộ phận và lắp ráp.
Kích thước vật lý thực sự của BasePart theo quan điểm của động cơ vật lý.
Xác định loại bề mặt cho mặt trước của một phần (-Z hướng).
Xác định loại bề mặt cho mặt trái của một phần (-X hướng).
Xác định một hệ số cho BasePart.Transparency mà chỉ có thể nhìn thấy bởi khách hàng địa phương.
Xác định xem một phần có thể được chọn trong Studio hay không.
Mô tả khối lượng của phần, sản phẩm của độ dày và khối lượng của nó.
Xác định xem phần có đóng góp vào tổng khối lượng hoặc lượng lưu lưu của cơ thâncứng hay không.
Xác định kết cấu và tính chất vật lý mặc định của một phần.
Tên của MaterialVariant .
Mô tả việc xoay của phần trong thế giới.
Xác định offset của trục của phần từ CFrame của nó.
Mô tả vị trí của phần trong thế giới.
Thời gian kể từ lần cập nhật vật lý cuối cùng.
Xác định bao nhiêu một phần phản ánh hộp trời.
Mô tả thay đổi nhỏ nhất về kích thước có thể cho phép bởi phương pháp Thay đổi kích thước.
Mô tả các khuôn mặt mà một phần có thể được thay đổi kích cỡ.
Xác định loại bề mặt cho mặt phải của một phần (+X hướng).
Quy tắc chính trong việc xác định phần gốc của một tập hợp.
Sự xoay của phần theo độ cho ba trục.
Xác định kích thước của một phần (chiều dài, chiều rộng, chiều cao).
Xác định loại bề mặt cho mặt trên của một phần (+ hướng Y).
Xác định bao nhiêu một phần có thể được nhìn thấy thông qua (ngược lại với độ mờ phần).
Phương Pháp
Buộc nhân vật với định dạng Humanoid được chỉ định ngồi vào chỗ ngồi.
Áp dụng một động lực góc cho lắp ráp.
Áp dụng một động lực cho lắp ráp tại lắp ráp center of mass .
Áp dụng một xung lực cho lắp ráp ở vị trí được chỉ định.
Trả về xem các bộ phận có thể va chạm với nhau hay không.
Kiểm tra xem bạn có thể đặt quyền sở hữu mạng của một phần hay không.
Trả về một bảng các bộ phận kết nối với đối tượng bằng bất kỳ loại khớp cứng nào.
Trả lại tất cả Các khớp hoặc Giới hạn được kết nối với Phần này.
Trả giá trị của thuộc tính Mass .
Trả về người chơi hiện tại là chủ sở hữu mạng của phần này, hoặc nil trong trường hợp của máy chủ.
Trả về true nếu động cơ trò chơi tự động quyết định chủ sở hữu mạng cho phần này.
Trả lại phần cơ bản của một tập hợp các bộ phận.
Trả về một bảng tất cả các BasePart.CanCollide phần đúng có chồng lấp với phần này.
Trả về tốc độ song song của lắp ráp phần ở vị trí đã cho so với phần này.
Trả về true nếu đối tượng được kết nối với một phần sẽ giữ nó ở vị trí (ví dụ một phần Anchored), nếu không trả về false.
Thay đổi kích thước của một đối tượng giống như sử dụng công cụ thay đổi kích thước Studio.
Đặt người chơi được cung cấp làm chủ mạng cho này và tất cả các bộ phận kết nối.
Cho phép động cơ trò chơi quyết định người sẽ xử lý vật lý của phần (một trong những khách hàng hoặc máy chủ).
- IntersectAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Tạo một đối tượng mới IntersectOperation từ hình học chồng lấp của phần và các phần khác trong danh sách được cho.
- SubtractAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Tạo một đoạn mới UnionOperation từ phần, trừ định hình được chiếm bởi các phần trong mảng được cho.
- UnionAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Tạo một đoạn mới UnionOperation từ phần, cộng với hình học được chiếm bởi các phần trong mảng đã cho.
Nhận trung tâm của một PVInstance .
Biến đổi PVInstance cùng với tất cả con cháu của nó PVInstances như vậy mà trục trung tâm bây giờ được đặt tại điểm CFrame được chỉ định.
Sự Kiện
Sự Kiện kế thừa từ BasePartBắt lửa khi một phần ngừng chạm vào một phần khác do chuyển động vật lý.
Bắt lửa khi một phần chạm vào phần khác do chuyển động vật lý.