PVInstance
*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 A PVInstance ("Instancia de velocidad de posición") es una clase abstracta que no se puede crear.Es la base para todos los objetos que tienen una ubicación física en el mundo, específicamente BaseParts y Models.
Resumen
Propiedades
Métodos
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.
Propiedades
Métodos
GetPivot
Esta función obtiene el pivote de un PVInstance . Esto se usa a menudo con PVInstance:PivotTo() para mover un aplicación de modelado.
Models y BaseParts son ambos PVInstances ("Instancias de velocidad de posición") y por lo tanto ambos tienen esta función.
Devuelve
Muestras de código
Este ejemplo de código es un simple guión de teletransporte que mueve a tu personaje 10 studs hacia adelante en la dirección que estás actualmente enfrentando cuando presionas la tecla F.Lo hace al obtener el eje actual con PVInstance:GetPivot() y llamar PVInstance|PivotTo para mover el personaje hacia adelante.
-- Este código debe colocarse en un LocalScript bajo StarterPlayerScripts
local Players = game:GetService("Players")
local ContextActionService = game:GetService("ContextActionService")
local player = Players.LocalPlayer
local function doTeleport(_actionName, inputState, _inputObject)
local character = player.Character
if character and character.Parent and inputState == Enum.UserInputState.Begin then
-- Mueve el personaje 10 espárragos hacia adelante en la dirección que está mirando
local currentPivot = character:GetPivot()
character:PivotTo(currentPivot * CFrame.new(0, 0, -10))
end
end
ContextActionService:BindAction("Teleport", doTeleport, true, Enum.KeyCode.F)
PivotTo
Transforma el PVInstance junto con todos sus descendientes PVInstances de tal manera que el pivote ahora se encuentra en el punto especificado CFrame.Esta es la función principal que debe usarse para mover Models a través de scripting.
BaseParts se mueven de esta manera al transformar sus CFrame con el desplazamiento necesario.Models se mueven de esta manera al tener su Model.WorldPivot transformado por el desplazamiento necesario.
Tenga en cuenta que, con fines de eficiencia, los eventos Object.Changed no se disparan para Position y Orientation de BaseParts se mueven de esta manera; solo se disparan para CFrame .
Al llamar PivotTo en Models , los desplazamientos de las partes y modelos descendientes se almacenan, de modo que las llamadas posteriores a PivotTo en el mismo modelo no acumulan el desplazamiento de punto flotante entre las partes que componen el aplicación de modelado.
Models y BaseParts son ambos PVInstances ("Instancias de velocidad de posición") y por lo tanto ambos tienen esta función.
Parámetros
El CFrame que el PVInstance pivote debería ser igual después de moverlo.
Devuelve
Muestras de código
Este ejemplo de código es un simple guión de teletransporte que mueve a tu personaje 10 studs hacia adelante en la dirección que estás actualmente enfrentando cuando presionas la tecla F.Lo hace al obtener el eje actual con PVInstance:GetPivot() y llamar PVInstance|PivotTo para mover el personaje hacia adelante.
-- Este código debe colocarse en un LocalScript bajo StarterPlayerScripts
local Players = game:GetService("Players")
local ContextActionService = game:GetService("ContextActionService")
local player = Players.LocalPlayer
local function doTeleport(_actionName, inputState, _inputObject)
local character = player.Character
if character and character.Parent and inputState == Enum.UserInputState.Begin then
-- Mueve el personaje 10 espárragos hacia adelante en la dirección que está mirando
local currentPivot = character:GetPivot()
character:PivotTo(currentPivot * CFrame.new(0, 0, -10))
end
end
ContextActionService:BindAction("Teleport", doTeleport, true, Enum.KeyCode.F)