PVInstance
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
Um PVInstance ("Objeto de Velocidade de Posição") é uma classe abstrata que não pode ser criada. É a base de todos os objetos que têm uma localização física no mundo, especificamente BaseParts e Models.
Resumo
Propriedades
Métodos
Obtém o pivô de um PVInstance.
Transforma o PVInstance juntamente com todos os seus descendentes PVInstances para que o pivô agora seja localizado no CFrame especificado.
Propriedades
Métodos
GetPivot
Essa função obtém o pivô de um PVInstance. Isso geralmente é usado com PVInstance:PivotTo() para mover um modelo.
Models e BaseParts são ambos PVInstances ("Instâncias de Velocidade de Posição") e, portanto, ambos têm essa função.
Devolução
Amostras de código
-- This code should be placed in a LocalScript under 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
-- Move the character 10 studs forwards in the direction they're facing
local currentPivot = character:GetPivot()
character:PivotTo(currentPivot * CFrame.new(0, 0, -10))
end
end
ContextActionService:BindAction("Teleport", doTeleport, true, Enum.KeyCode.F)
PivotTo
Transforma o PVInstance juntamente com todos os seus descendentes PVInstances para que o pivô agora seja localizado no CFrame especificado. Esta é a função principal que deve ser usada para mover 1> Class.Model|Modelos1> via scripting.
BaseParts são movidos desta maneira ao ter seu CFrame transformado pelo necessário deslocamento. Models são movidos desta maneira ao ter seu 0> Class.Model.WorldPivot0> transformado pelo deslocamento necessário.
Nota que, para fins de eficiência, os eventos Object.Changed não são disparados para Position e Orientation de 2>Class.BasePart|BaseParts2> movidos desta maneira; eles são apenas disparados para 5>Datatype.CFrame5> .
Quando chamar PivotTo em Models, os deslocamentos das peças e modelos descendentes são armazenados para que as chamadas subsequentes à PivotTo no mesmo modelo não acumulem flutuabilidade de ponto flutuante entre as peças que compõem o
Models e BaseParts são ambos PVInstances ("Instâncias de Velocidade de Posição") e, portanto, ambos têm essa função.
Parâmetros
O CFrame que o pivô PVInstance deve igualar após movê-lo.
Devolução
Amostras de código
-- This code should be placed in a LocalScript under 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
-- Move the character 10 studs forwards in the direction they're facing
local currentPivot = character:GetPivot()
character:PivotTo(currentPivot * CFrame.new(0, 0, -10))
end
end
ContextActionService:BindAction("Teleport", doTeleport, true, Enum.KeyCode.F)