Seat
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
Un tipo de BasePart en el que un personaje de jugador puede "sentarse".Cuando un personaje toca un objeto de asiento habilitado, se adjuntará a la parte por un Weld y los scripts predeterminados de personajes jugarán una animacionesde sentarse.
¿Cómo funcionan los asientos?
Cuando un modelo que contiene un Humanoid y un BasePart llamó 'HumanoidRootPart' (generalmente un personaje de jugador) toca un asiento, se crea un Weld entre el asiento y la parte.Las propiedades C0 y C1 se configuran para que el personaje esté soldado a 2 tachuelas por encima del asiento.Esta soldadura se llama 'SeatWeld' y se asigna al asiento.
Cuando se sienta la propiedad Seat.Occupant la propiedad se establece en Humanoid que está 'sentada' en el asiento.Además, la propiedad Humanoid.SeatPart de la humanoid se establece en el asiento.
Un personaje también se puede forzar a sentarse en un asiento usando la función Seat:Sit().
Hay dos maneras de que un personaje salga de su asiento.Cuando un jugador salta, se lo elimina del asiento.Sin embargo, esto también se puede hacer manualmente destruyendo la soldadura del asiento, por ejemplo:
asiento:FindFirstChild("SeatWeld"):Destruir()
Los asientos de nota tienen un tiempo de reutilización (actualmente 3 segundos) que está en una base por caracteres por asiento.Esto significa que una vez que un personaje se haya salido de su asiento no podrá sentarse en el mismo asiento durante 3 segundos.Este comportamiento de espera puede cambiar y no debe ser confiado por los desarrolladores.
¿Para qué se pueden usar los asientos?
Los asientos tienen una gran variedad de usos, que van desde lo obvio hasta lo más poco convencional.
- Crear sillas o bancos sin la necesidad de programación
- Permitir que los personajes "se sienten" en objetos en movimiento como vehículos sin ser lanzados alrededor
- Creación de interfaces que son controladas por el personaje en el asiento usando la propiedad Seat.Occupant
Muestras de código
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)
Resumen
Propiedades
Si el asiento es o no utilizable. Si se establece en verdadero, el asiento actuará como una parte normal.
El humanoide que está sentado en el asiento.
Establece la forma general del objeto.
Determina si una parte es inmóvil por la física.
La velocidad angular de la montura de la pieza.
El centro de masa de la montura de la parte en el espacio mundial.
La velocidad lineal de la montura de la pieza.
La masa total de la montura de la parte.
Una referencia a la parte raíz de la asamblea.
Determina si la parte interactuará físicamente con la simulación de audio, similar a CastShadow para iluminación.
Determina el tipo de superficie para la cara trasera de una pieza.
Determina el tipo de superficie para la cara inferior de una parte.
Determina el color de una parte.
Determina la posición y orientación del BasePart en el mundo.
Determina si una parte puede chocar con otras partes.
Determina si la parte se considera durante las operaciones de consulta espacial.
Determina si Touched y TouchEnded eventos de fuego en la parte.
Determina si una parte lanza una sombra o no.
Describe la posición mundial en la que se encuentra el centro de masa de una parte.
Describe el nombre del grupo de colisión de una parte.
Determina el color de una parte.
Indica las propiedades físicas actuales de la parte.
Determina varias propiedades físicas de una parte.
Se utiliza para activar o desactivar las fuerzas aerodinámicas en piezas y ensamblajes.
El tamaño físico real del BasePart como lo considera el motor de física.
Determina el tipo de superficie para la cara frontal de una parte.
Determina el tipo de superficie para el lado izquierdo de una pieza.
Determina un multiplicador para BasePart.Transparency que solo es visible para el cliente local.
Determina si una parte es seleccionable en Studio.
Describe la masa de la parte, el producto de su densidad y volumen.
Determina si la parte contribuye a la masa total o a la inercia de su cuerpo rígido.
Determina la textura y las propiedades físicas predeterminadas de una parte.
El nombre de MaterialVariant.
Describe la rotación de la parte en el mundo.
Specifica el desplazamiento del pivote de la parte desde su CFrame .
Describe la posición de la parte en el mundo.
Tiempo desde la última actualización de física registrada.
Determina cuánto refleja una parte la caja de cielo.
Describe el cambio más pequeño en el tamaño permitido por el método Resize().
Describe las caras en las que una parte puede ser redimensionada.
Determina el tipo de superficie para el lado derecho de una pieza.
La regla principal para determinar la parte raíz de una asamblea.
La rotación de la pieza en grados para los tres ejes.
Determina las dimensiones de una parte (longitud, ancho, altura).
Determina el tipo de superficie para la cara superior de una pieza.
Determina cuánto se puede ver una parte a través de ella (la inversa de la opacidad de la parte).
Métodos
Obliga al personaje con el especificado Humanoid a sentarse en el asiento.
Aplica un impulso angular a la montura.
Aplica un impulso a la asamblea en la asamblea center of mass .
Aplica un impulso a la montura en la posición especificada.
Devuelve si las partes pueden chocar entre sí.
Comprueba si puedes establecer la propiedad de red de una parte.
Devuelve una tabla de partes conectadas al objeto por cualquier tipo de articulaciónrígida.
Devuelve todas las juntas o restricciones que estén conectadas a esta parte.
Devuelve el valor de la propiedad Mass .
Devuelve al jugador actual que es el propietario de la red de esta parte, o nil en caso del servidor.
Devuelve verdadero si el motor de juegos decide automáticamente al propietario de la red para esta parte.
Devuelve la parte base de una colección de partes.
Devuelve una tabla de todas las BasePart.CanCollide piezas verdaderas que se intersectan con esta parte.
Devuelve la velocidad lineal de la montura de la pieza en la posición dada con respecto a esta pieza.
Devuelve verdadero si el objeto está conectado a una parte que lo mantendrá en su lugar (por ejemplo, una parte Anchored), de lo contrario devuelve falso.
Cambia el tamaño de un objeto al igual que usando la herramienta de redimensionamiento de Studio.
Establece al jugador dado como propietario de la red para esto y todas las piezas conectadas.
Permite que el motor de juegos decida dinámicamente quién manejará la física de la parte (uno de los clientes o el servidor).
- IntersectAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Crea un nuevo IntersectOperation de la geometría superpuesta de la pieza y de las otras piezas en el matriz/listadado.
- SubtractAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Crea un nuevo UnionOperation de la parte, menos la geometría ocupada por las piezas en el matriz/listadado.
- UnionAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Crea un nuevo UnionOperation de la parte, más la geometría ocupada por las piezas en el matriz/listadado.
Obtiene el pivote de un PVInstance .
Transforma el PVInstance junto con todos sus descendientes PVInstances de tal manera que el pivote ahora se encuentra en el punto especificado CFrame.
Eventos
Eventos heredados de BasePartSe enciende cuando una parte deja de tocar a otra parte como resultado de un movimiento físico.
Se enciende cuando una parte toca a otra parte como resultado de un movimiento físico.