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 que un personaje de jugador puede 'sentarse' en. Cuando un personaje toca un objeto de asiento habilitado, se agregará al móvil por un Weld y los scripts de personaje predeterminados jugarán una animacionesde sentado.
¿Cómo funcionan los asientos?
Cuando un modelo que contiene un Humanoid y un BasePart llamado 'HumanoidRootPart' ( generalmente un personaje de jugador) toca un asiento, se crea un Class.W
Cuando se asienta la propiedad Seat.Occupant a la propiedad Humanoid que está sentada en el asiento. Además, la propiedad Humanoid.SeatPart de la propiedad del humanoid está configurada para el asiento.
Un personaje también se puede obligar a sentarse en un asiento utilizando la función Seat:Sit().
Hay dos formas en que un personaje puede salir de un asiento. Cuando un jugador salta, se eliminan del asiento. Sin embargo, esto también se puede hacer manualmente al destruir la soldadura del asiento, por ejemplo:
Asiento:Encuentra el primer hijo ("SeatWeld"):Destroy()
Las notas de los asientos tienen un tiempo de reutilización (actualmente 3 segundos) que está en una base por personaje por asiento. Esto significa que una vez que un personaje se ha salido de un asiento, no puede sentarse de nuevo en el mismo asiento durante 3 segundos. Este comportamiento de tiempo de reutilización puede cambiar y no debe confiarse en los desarrolladores.
¿Para qué se pueden usar los asientos?
Los asientos tienen una gama de usos diversos, desde lo obvio a lo no convencional.
- Crear sillas o bancos sin la necesidad de ninguna programación
- Permitir que los personajes se sienten en objetos en movimiento, como vehículos, sin sentirse flotando
- Crear 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 usable. Si se establece en verdadero, el asiento funcionará como una parte normal.
El humanoide que está sentado en el asiento.
Sets the overall shape of the object.
Determina si una parte es inmóvil por física.
La velocidad ángular de la montaje de la parte.
El centro de masa de la montura del mundo en el espacio de montaje.
La velocidad lineal de la montaje de la parte.
La masa total de la montura del parte.
Una referencia a la parte raíz de la instalación.
Determina el tipo de superficie para la Cara trasera de una parte (+Z dirección).
Determina el tipo de superficie para la Cara inferior de una parte (-Y dirección).
Determina el color de una parte.
Determina la posición y orientación de la BasePart en el mundo.
Determina si una parte puede colisionar con otras partes.
Determina si la parte se considera durante las operaciones de consulta espacial.
Determina si Touched y TouchEnded eventos se disparan en la parte.
Determina si una parte proyecta una sombra o no.
Describe la posición del mundo en la que se encuentra el centro de masa de una parte.
Describe el nombre de un 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 habilitar o deshabilitar las fuerzas aerodinámicas en las partes y montajes.
El tamaño físico real de la BasePart según el motor de física.
Determina el tipo de superficie para la cara delantera de una parte (-Z dirección).
Determina el tipo de superficie para la cara izquierda de una parte (-X dirección).
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 o inercia total de su cuerpo rígido.
Determina las propiedades físicas predeterminadas y textura de una parte.
El nombre de MaterialVariant .
Describe la rotación de la parte en el mundo.
Especifica el desplazamiento del eje 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 la cantidad de un bloque que refleja el cielo.
Describe el cambio de tamaño más pequeño permitido por el método de escalado.
Describe las caras en las que se puede redimensionar una parte.
Determina el tipo de superficie para la Cara Derecha de una parte (+X dirección).
La regla principal para determinar la parte raíz de una arquitectura.
La rotación de la parte 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 parte (+Y dirección).
Determina la cantidad de información que se puede ver a través de (el revés de la opacidad de la parte).
Métodos
Requiere que el personaje con el Humanoid especificado se siente en el asiento.
Aplicar un impulso ángular a la instalación.
Aplica un impulso a la montura en el centro de montaje de la montura center of mass .
Aplica un impulso a la montura en la posición especificada.
Regresa si las partes pueden chocar entre sí.
Comprueba si puedes establecer el propietario de la red de una parte.
Devuelve una tabla de partes conectadas al objeto por cualquier tipo de articulación rígida.
Devuelva todos los Joints o Constraints que estén conectados 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 nulo en caso del servidor.
Regresa true si el motor del juego decide automáticamente el propietario de la red para esta parte.
Regresa la parte base de una montura de partes.
Devuelve una tabla de todas las piezas BasePart.CanCollide que tengan intersección con esta parte.
Devuelve la velocidad lineal del montaje de la parte en la posición relativa a esta parte.
Regresa veraz si el objeto está conectado a una parte que lo sostendrá en su lugar (por ejemplo, una parte Anchored )), de lo contrario regresa false.
Cambia el tamaño de un objeto al usar la herramienta de escalado de Studio.
Establece al jugador dado como propietario de la red para esto y todas las partes conectadas.
Deja que el motor del juego decida dinámicamente quién se encargará de la física de la parte (uno de los clientes o el servidor).
- IntersectAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Crea una nueva IntersectOperation a partir de la geometría superpuesta de la parte y las otras partes en el matriz/listadado.
- SubtractAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Crea una nueva UnionOperation desde la parte, minuscula la geometría ocupada por las partes en el matriz/listadado.
- UnionAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Crea una nueva UnionOperation desde la parte, plus la geometría ocupada por las partes en el matriz/listadado.
Gets the pivot of a PVInstance.
Transforms the PVInstance along with all of its descendant PVInstances such that the pivot is now located at the specified CFrame.
Eventos
Eventos heredados de BasePartDispara cuando una parte deja de tocar otra parte como resultado de un movimiento físico.
Dispara cuando una parte toca otra parte como resultado del movimiento físico.