TweenBase
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
Classe de base abstrata para interrupções de interpretação; classe de paiso de Tween .
Resumo
Propriedades
Propriedade de leitura que mostra o estado atual para a animaçõesTween.
Métodos
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.
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.
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()).
Eventos
Dispara quando a música acaba ou quando parado com TweenBase:Cancel() .
Propriedades
PlaybackState
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
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
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
Amostras de código
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
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
Amostras de código
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
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
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 = 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
O Enum.PlaybackState do tween ao completar.
Amostras de código
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)
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()
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()