TweenService
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
TweenService é usado para criar Tweens que interpolam ou interseçãoas propriedades das instâncias.Tweens pode ser usado em qualquer objeto com tipos de propriedade compatíveis, incluindo:
TweenService:Create() , a função de construtor primário, toma TweenInfo especificações sobre o pré-adolescente e gera o objeto Tween que pode então ser usado para jogar o interseção.
Observe que Tweens pode interpolar várias propriedades ao mesmo tempo, mas elas não devem estar interpolando a mesma propriedade.Se dois adolescentes tentarem modificar a mesma propriedade, o tween inicial será cancelado e substituído pelo interseçãomais recente.
Amostras de código
local TweenService = game:GetService("TweenService")
local part = Instance.new("Part")
part.Position = Vector3.new(0, 10, 0)
part.Color = Color3.new(1, 0, 0)
part.Anchored = true
part.Parent = game.Workspace
local goal = {}
goal.Position = Vector3.new(10, 10, 0)
goal.Color = Color3.new(0, 1, 0)
local tweenInfo = TweenInfo.new(5)
local tween = TweenService:Create(part, tweenInfo, goal)
tween:Play()
local TweenService = game:GetService("TweenService")
local part = Instance.new("Part")
part.Position = Vector3.new(0, 10, 0)
part.Anchored = true
part.Parent = workspace
local tweenInfo = TweenInfo.new(
2, -- Time
Enum.EasingStyle.Linear, -- EasingStyle
Enum.EasingDirection.Out, -- EasingDirection
-1, -- RepeatCount (when less than zero the tween will loop indefinitely)
true, -- Reverses (tween will reverse once reaching its goal)
0 -- DelayTime
)
local tween = TweenService:Create(part, tweenInfo, { Position = Vector3.new(0, 30, 0) })
tween:Play()
task.wait(10)
tween:Cancel() -- cancel the animation after 10 seconds
local TweenService = game:GetService("TweenService")
local part = Instance.new("Part")
part.Position = Vector3.new(0, 10, 0)
part.Anchored = true
part.BrickColor = BrickColor.new("Bright green")
part.Parent = workspace
local goal = {}
goal.Position = Vector3.new(50, 10, 0)
local tweenInfo = TweenInfo.new(10, Enum.EasingStyle.Linear)
local tween = TweenService:Create(part, tweenInfo, goal)
tween:Play()
task.wait(3)
part.BrickColor = BrickColor.new("Bright red")
tween:Pause()
task.wait(2)
part.BrickColor = BrickColor.new("Bright green")
tween:Play()
Resumo
Métodos
Cria um novo Tween dado o objeto cujas propriedades devem ser transicionadas, um TweenInfo e um dicionário de valores de propriedade de objetivo.
- GetValue(alpha : number,easingStyle : Enum.EasingStyle,easingDirection : Enum.EasingDirection):number
Calcula uma nova alfa dada um Enum.EasingStyle e Enum.EasingDirection .
- SmoothDamp(current : Variant,target : Variant,velocity : Variant,smoothTime : number,maxSpeed : number?,dt : number?):Tuple
Calcula um valor que simula uma mola críticamente amortecida.
Propriedades
Métodos
Create
Este construtor cria um novo Tween de três argumentos: o objeto para interseção, as especificações TweenInfo específicas e uma tabela que contém as propriedades para transicionar e os valores para transicionar.
O parâmetro propertyTable precisa ser um dicionário onde as chaves são os nomes das strings da propriedade (por exemplo Position , Transparency ou Color ), e os valores são os alvos da propriedade no final do interseção.
O Tween criado usando essa função é único para o objeto dado como o parâmetro instance.Para aplicar o mesmo pré-adolescente a outro Objeto, chame novamente essa função com o novo Objeto.
Parâmetros
Um dicionário de propriedades e seus valores alvo, para serem transicionados.
Devolução
Amostras de código
local TweenService = game:GetService("TweenService")
local part = Instance.new("Part")
part.Position = Vector3.new(0, 10, 0)
part.Color = Color3.new(1, 0, 0)
part.Anchored = true
part.Parent = game.Workspace
local goal = {}
goal.Position = Vector3.new(10, 10, 0)
goal.Color = Color3.new(0, 1, 0)
local tweenInfo = TweenInfo.new(5)
local tween = TweenService:Create(part, tweenInfo, goal)
tween:Play()
local TweenService = game:GetService("TweenService")
local part = Instance.new("Part")
part.Position = Vector3.new(0, 10, 0)
part.Anchored = true
part.Parent = workspace
local tweenInfo = TweenInfo.new(
2, -- Time
Enum.EasingStyle.Linear, -- EasingStyle
Enum.EasingDirection.Out, -- EasingDirection
-1, -- RepeatCount (when less than zero the tween will loop indefinitely)
true, -- Reverses (tween will reverse once reaching its goal)
0 -- DelayTime
)
local tween = TweenService:Create(part, tweenInfo, { Position = Vector3.new(0, 30, 0) })
tween:Play()
task.wait(10)
tween:Cancel() -- cancel the animation after 10 seconds
GetValue
Retorna um novo valor alfa para interpolação usando o valor alfa dado, Enum.EasingStyle e Enum.EasingDirection.O valor fornecido alpha será clampado entre 0 e 1.
Parâmetros
Um valor de interpolação entre 0 e 1.
O estilo de relaxamento para usar.
A direção de relaxamento para usar.
Devolução
Um novo valor alfa gerado a partir do estilo e direção de alívio dados.
SmoothDamp
Retorna um tuple que permite suavizar um valor em direção a um alvo, simulando uma mola críticamente amortecida.Suporta Vector2 , Vector3 , CFrame e número.
Parâmetros
A posição atual.
A posição alvo.
A velocidade inicial em que a posição atual deve se aproximar da posição alvo.
A duração em que a operação de suavização total deve local.
A velocidade máxima em que a posição atual deve se aproximar da posição alvo.
A taxa em que a operação de suavização deve ser aplicada.
Devolução
A nova posição e velocidade calculada a partir da operação de suavização.