Seat
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
Um tipo de BasePart que um personagem de jogador pode 'sentar' em.Quando um personagem toca em um Objetode assento ativado, ele será anexado à peça por um Weld e os scripts de personagem padrão jogarão uma animaçõessentada.
Como os assentos funcionam?
Quando um modelo que contém um Humanoid e um BasePart chamado 'HumanoidRootPart' (geralmente um personagem de jogador) toca um assento, um Weld é criado entre o assento e a parte.As propriedades C0 e C1 são configuradas para que o personagem seja soldado a 2 metros acima do assento.Esta solda é chamada de 'SeatWeld' e é parente do assento.
Quando sentar a propriedade Seat.Occupant está definida para o Humanoid que está 'sentado' no assento.Além disso, a propriedade Humanoid.SeatPart do humanoide é definida para o assento.
Um personagem também pode ser forçado a sentar-se em um assento usando a função Seat:Sit().
Existem duas maneiras de um personagem sair de um assento.Quando um jogador pula, ele é removido do assento.No entanto, isso também pode ser feito manualmente ao destruir a solda / junta / fusãodo assento, por exemplo:
assento:FindFirstChild("SeatWeld"):Destruir()
Os assentos de nota têm um tempo de espera (atualmente 3 segundos) que é em uma base por personagem por assento.Isso significa que uma vez que um personagem tenha saído de um assento, eles não podem se sentar novamente no mesmo assento por 3 segundos.Este comportamento de espera pode mudar e não deve ser confiado pelos desenvolvedores.
Para que os assentos podem ser usados?
Os assentos têm uma variedade de usos, que variam do óbvio ao mais não convencional.
- Criar cadeiras ou bancos sem a necessidade de qualquer programação
- Permitindo que os personagens "sentem" em objetos em movimento, como veículos, sem serem arremessados
- Criando interfaces que são controladas pelo personagem no assento usando a propriedade Seat.Occupant
Amostras de código
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)
Resumo
Propriedades
Se o assento é ou não utilizável. Se definido como verdadeiro, o assento atuará como uma parte normal.
O humanoide que está sentado no assento.
Define a forma geral do Objeto.
Determina se uma peça é imóvel pela física.
A velocidade angular da montagem da peça.
O centro de massa da montagem da peça no espaço mundial.
A velocidade linear da montagem da peça.
A massa total da montagem da peça.
Uma referência à parte raiz da montagem.
Determina o tipo de superfície para a face traseira de uma peça (+Z direção).
Determina o tipo de superfície para a face inferior de uma peça (-Y direção).
Determina a cor de uma peça.
Determina a posição e orientação do BasePart na mundo.
Determina se uma peça pode colidir com outras peças.
Determina se a peça é considerada durante as operações de consulta espacial.
Determina se Touched e TouchEnded eventos atiram na parte.
Determina se uma peça lança ou não uma sombra.
Descreve a posição mundial em que o centro de massa de uma peça está localizado.
Descreve o nome do grupo de colisão de uma peça.
Determina a cor de uma peça.
Indica as propriedades físicas atuais da peça.
Determina várias propriedades físicas de uma peça.
Usado para ativar ou desativar forças aerodinâmicas em peças e montagens.
O tamanho físico real do BasePart como considerado pelo motor de física.
Determina o tipo de superfície para a face frontal de uma peça (-Z direção).
Determina o tipo de superfície para a face esquerda de uma peça (-X direção).
Determina um multiplicador para BasePart.Transparency que só é visível ao cliente local.
Determina se uma peça é selecionável no Studio.
Descreve a massa da peça, o produto de sua densidade e volume.
Determina se a peça contribui para a massa total ou inércia de seu corpo rígido.
Determina a textura e as propriedades físicas padrão de uma peça.
O nome de MaterialVariant .
Descreve a rotação da peça no mundo.
Specifica o deslocamento do pivô da peça de sua CFrame .
Descreve a posição da peça no mundo.
Tempo desde a última atualização de física registrada.
Determina quanto uma parte reflete a skybox.
Descreve a menor mudança de tamanho permitida pelo método Redimensionar.
Descreve os rostos em que uma peça pode ser redimensionada.
Determina o tipo de superfície para a face direita de uma peça (+X direção).
A regra principal na determinação da parte raiz de uma montagem.
A rotação da peça em graus para os três eixos.
Determina as dimensões de uma peça (comprimento, largura, altura).
Determina o tipo de superfície para a face superior de uma peça (+ direção Y).
Determina quanto uma peça pode ser vista através (o oposto da opacidade da peça).
Métodos
Força o personagem com o especificado Humanoid a sentar-se no assento.
Aplique um impulso angular à montagem.
Aplique um impulso à montagem na montagem center of mass .
Aplique um impulso à montagem em posição especificada.
Retorna se as peças podem colidir entre si.
Verifica se você pode definir a propriedade de rede de uma peça.
Retorna uma tabela de peças conectadas ao objeto por qualquer tipo de articulaçãorígida.
Retorne todos os Juntos ou Restrições que estão conectados a esta Parte.
Retorna o valor da propriedade Mass de retorno.
Retorna o jogador atual que é o proprietário da rede desta parte ou nil no caso do servidor.
Retorna verdadeiro se o motor de jogo decidir automaticamente o proprietário da rede para esta parte.
Retorna a parte base de uma montagem de peças.
Retorna uma tabela de todas as BasePart.CanCollide peças verdadeiras que se intersectam com esta peça.
Retorna a velocidade linear da montagem da peça na posição dada em relação a esta peça.
Retorna verdadeiro se o objeto estiver conectado a uma parte que o manterá no lugar (por exemplo, uma parte Anchored), caso contrário, retorna falso.
Muda o tamanho de um objeto assim como usar a ferramenta de redimensionamento do Studio.
Define o jogador dado como proprietário da rede para isso e todas as peças conectadas.
Permite que o motor do jogo decida dinamicamente quem vai lidar com a física da peça (um dos clientes ou do servidor).
- IntersectAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Cria um novo IntersectOperation a partir da geometria sobreposta da peça e das outras peças no matriz / listadado.
- SubtractAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Cria um novo UnionOperation a partir da peça, menos a geometria ocupada pelas peças no matriz / listadado.
- UnionAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Cria um novo UnionOperation a partir da peça, mais a geometria ocupada pelas peças no matriz / listadado.
Obtém o pivô de um PVInstance .
Transforma o PVInstance ao longo de todos os seus descendentes PVInstances de modo que o pivô agora está localizado no CFrame especificado.
Eventos
Eventos herdados de BasePartIncêndios quando uma parte para de tocar outra parte como resultado de um movimento físico.
Incêndios quando uma parte toca outra parte como resultado de um movimento físico.