Seat

显示已弃用

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

玩家角色可以“坐”在。 当角色触摸启用的座位对象时,它将被附在零件上,通过 BasePart 和默认角色脚本播放坐下动画。

座位如何工作?

当一个包含 HumanoidBasePart 的模型触摸座位时,会生成一个 Weld 在座位和零件之间。

当坐下Class.Seat.Occupant属性设置为Seat.Occupant,其中正在座位上坐下的是Humanoid。此外,人形的Class.Humanoid.SeatPart属性也设置为座位。

角色也可以被强迫坐在座位上使用 Seat:Sit() 函数。

有两种方法让角色从座位上离开。当玩家跳出时,他们会被从座位上移除。但这也可以通过手动摧毁座椅接合来执行,例如:

座位:FindFirstChild("SeatWeld"):Destroy()

注意座位有一个冷却时间(目前为3秒),该冷却时间是根据每个角色每个座位的基础。 这意味着一旦角色离开座位,他们不能在同一个座位上坐下3秒。 此冷却时间可能会改变,并且不应被开发人员使用。

座椅用于什么?

座位有各种各样的使用,从明显的到更不寻常的。

  • 创建椅子或长椅,无需任何编程
  • 允许角色在车辆等移动对象上“坐下”,不会被挥舞
  • 创建使用 Seat.Occupant 属性控制座位角色的界面

代码示例

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属性继承自PVInstance属性

方法

继承自BasePart方法继承自PVInstance方法

活动

继承自BasePart活动

属性

Disabled

读取并联

座椅是否可用。如果设置为“真”,座椅将作为普通部件使用。

Occupant

只读
未复制
读取并联

坐在座位上的人形

方法

Sit

void

强制角色与指定的 Humanoid 坐下。

参数

humanoid: Instance

返回

void

活动