TweenBase

Mostrar obsoleto

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Não criável
Não navegável

Classe de base abstrata para interrupções de interpretação; classe de paiso de Tween .

Resumo

Propriedades

Métodos

  • Cancel():void

    Interrompe o playback e redefine as variáveis de tween. Se você então chamar TweenBase:Play(), as propriedades do tween resume a interpolação em direção ao destino, mas leve a longitude completa da animação para fazer isso.

  • Pause():void

    Interrompe o playback do interseção. Não redefine suas variáveis de progresso, o que significa que, se você chamar TweenBase:Play(), o tween retoma o playback do momento em que foi pausado.

  • Play():void

    Inicia a reprodução de um interseção. Observe que se a reprodução já começou, chamar Play() não tem efeito a menos que o tween tenha terminado ou seja interrompido (por meio de TweenBase:Cancel() ou TweenBase:Pause()).

Propriedades

PlaybackState

Somente leitura
Não replicado
Ler Parallel

Propriedade de leitura que mostra a fase atual para a animaçõesTween. Veja Enum.PlaybackState para descrições de cada estado. Altere usando funções como Tween:Play().

Amostras de código

Tween PlaybackState

local TweenService = game:GetService("TweenService")
local part = Instance.new("Part")
part.Position = Vector3.new(0, 10, 0)
part.Anchored = true
part.Parent = workspace
local goal = {}
goal.Orientation = Vector3.new(0, 90, 0)
local tweenInfo = TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut, 2, true, 0.5)
local tween = TweenService:Create(part, tweenInfo, goal)
local function onPlaybackChanged()
print("Tween status has changed to:", tween.PlaybackState)
end
local playbackChanged = tween:GetPropertyChangedSignal("PlaybackState")
playbackChanged:Connect(onPlaybackChanged)
tween:Play()

Métodos

Cancel

void

Interrompe o playback de um Tween e redefine as variáveis de tween.

Apenas redefine as variáveis de tween, não as propriedades sendo alteradas pelo interseção. Se você cancelar um tween no meio de sua animações, as propriedades não serão redefinidas para seus valores originais. Diferencia-se de TweenBase:Pause() naquele momento, leva a duração completa da tween para completar a animações.


Devolução

void

Amostras de código

Tween Cancel

local TweenService = game:GetService("TweenService")
local part = Instance.new("Part")
part.Position = Vector3.new(0, 10, 0)
part.Anchored = true
part.Parent = workspace
local goal = {}
goal.Position = Vector3.new(0, 50, 0)
local tweenInfo = TweenInfo.new(5)
local tween = TweenService:Create(part, tweenInfo, goal)
tween:Play()
task.wait(2.5)
tween:Cancel()
local playTick = tick()
tween:Play()
tween.Completed:Wait()
local timeTaken = tick() - playTick
print("Tween took " .. tostring(timeTaken) .. " secs to complete")
-- The tween will take 5 seconds to complete as the tween variables have been reset by tween:Cancel()

Pause

void

Interrompe o playback do interseção. Não redefine suas variáveis de progresso, o que significa que, se você chamar TweenBase:Play(), o tween retoma o playback do momento em que foi pausado.

Se você quiser redefinir as variáveis de progresso do interseção, use TweenBase:Cancel().

Você só pode pausar os tweens que estão no PlaybackState de Enum. PlaybackState.Playing; tweens em outros estados não v


Devolução

void

Amostras de código

Pausing a Tween

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()

Play

void

Inicia a reprodução de um interseção. Observe que se a reprodução já começou, chamar Play() não tem efeito a menos que o tween tenha terminado ou seja interrompido (por meio de TweenBase:Cancel() ou TweenBase:Pause()).

Múltiplos tweens podem ser jogados no mesmo objeto em tempo diferente, mas eles não devem animação a mesma propriedade. Se dois tweens tentarem modificar a mesma propriedade, o tween inicial é cancelado e substituído pelo mais recente tween (veja exemplos).


Devolução

void

Amostras de código

Tween Creation

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()
Tween Conflict

local TweenService = game:GetService("TweenService")
local part = Instance.new("Part")
part.Position = Vector3.new(0, 10, 0)
part.Anchored = true
part.Parent = game.Workspace
local tweenInfo = TweenInfo.new(5)
-- create two conflicting tweens (both trying to animate part.Position)
local tween1 = TweenService:Create(part, tweenInfo, { Position = Vector3.new(0, 10, 20) })
local tween2 = TweenService:Create(part, tweenInfo, { Position = Vector3.new(0, 30, 0) })
-- listen for their completion status
tween1.Completed:Connect(function(playbackState)
print("tween1: " .. tostring(playbackState))
end)
tween2.Completed:Connect(function(playbackState)
print("tween2: " .. tostring(playbackState))
end)
-- try to play them both
tween1:Play()
tween2:Play()

Eventos

Completed

Dispara quando a música acaba ou quando parado com TweenBase:Cancel() .

Pasa o Enum.PlaybackState da tween para qualquer função conectada para dar uma indicação de por que a tween terminou. Observe que chamar TweenBase:Pause() não ativa o evento Completed.

Parâmetros

playbackState: Enum.PlaybackState

O Enum.PlaybackState do tween ao completar.


Amostras de código

Tween Completed

local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local SLOW_DURATION = 10
local function slowCharacter(humanoid)
local goal = {}
goal.WalkSpeed = 0
local tweenInfo = TweenInfo.new(SLOW_DURATION)
local tweenSpeed = TweenService:Create(humanoid, tweenInfo, goal)
tweenSpeed:Play()
return tweenSpeed
end
local function onCharacterAdded(character)
local humanoid = character:WaitForChild("Humanoid")
local initialSpeed = humanoid.WalkSpeed
local tweenSpeed = slowCharacter(humanoid)
tweenSpeed.Completed:Wait()
humanoid.WalkSpeed = initialSpeed
end
local function onPlayerAdded(player)
player.CharacterAdded:Connect(onCharacterAdded)
end
Players.PlayerAdded:Connect(onPlayerAdded)
Tween Conflict

local TweenService = game:GetService("TweenService")
local part = Instance.new("Part")
part.Position = Vector3.new(0, 10, 0)
part.Anchored = true
part.Parent = game.Workspace
local tweenInfo = TweenInfo.new(5)
-- create two conflicting tweens (both trying to animate part.Position)
local tween1 = TweenService:Create(part, tweenInfo, { Position = Vector3.new(0, 10, 20) })
local tween2 = TweenService:Create(part, tweenInfo, { Position = Vector3.new(0, 30, 0) })
-- listen for their completion status
tween1.Completed:Connect(function(playbackState)
print("tween1: " .. tostring(playbackState))
end)
tween2.Completed:Connect(function(playbackState)
print("tween2: " .. tostring(playbackState))
end)
-- try to play them both
tween1:Play()
tween2:Play()
Verifying a Tween has Completed

local TweenService = game:GetService("TweenService")
local part = Instance.new("Part")
part.Position = Vector3.new(0, 50, 0)
part.Anchored = true
part.Parent = workspace
local goal = {}
goal.Position = Vector3.new(0, 0, 0)
local tweenInfo = TweenInfo.new(3)
local tween = TweenService:Create(part, tweenInfo, goal)
local function onTweenCompleted(playbackState)
if playbackState == Enum.PlaybackState.Completed then
local explosion = Instance.new("Explosion")
explosion.Position = part.Position
explosion.Parent = workspace
part:Destroy()
task.delay(2, function()
if explosion then
explosion:Destroy()
end
end)
end
end
tween.Completed:Connect(onTweenCompleted)
tween:Play()