TweenBase

Afficher les obsolètes

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Création impossible
Non navigable

Classé abstrait pour les interrupteurs d'interpolation entre interpolation ; parent classe de Tween .

Résumé

Propriétés

Méthodes

  • Cancel():void

    Arrête la lecture et réinitialise les variables de tween. Si vous appelez ensuite TweenBase:Play(), les propriétés de la tween interpolent vers leur destination, mais prenez la longueur complète de l'animation pour le faire.

  • Pause():void

    Arrête la lecture du tween. Ne réinitialise pas ses variables de progression, ce qui signifie que si vous appelez TweenBase:Play(), le tween reprend la lecture à partir du moment qu'il a été interrompue.

  • Play():void

    Démarre la lecture d'une tween. Notez que si la lecture a déjà commencé, en appelant Play() n'a aucun effet à moins que la tween n'ait fini ou soit arrêté (par TweenBase:Cancel() ou TweenBase:Pause()).

Évènements

Propriétés

PlaybackState

Lecture uniquement
Non répliqué
Lecture parallèle

Propriété de lecture qui montre l'étape actuelle pour l'animationsTween. Voir Enum.PlaybackState pour les descriptions de chaque étape. Modifiez-les en utilisant des fonctions comme Tween:Play().

Échantillons de code

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éthodes

Cancel

void

Arrête la lecture d'un Tween et réinitialise les variables de tween.

Ne réinitialise que les variables de tween, pas les propriétés modifiées par le tween. Si vous annulez un tween en cours d'animations, les propriétés ne sont pas réinitialisées à leurs valeurs d'origine. Diffère de TweenBase:Pause() dans la mesure où il reprend, il prend la durée complète du tween pour terminer l'animations.


Retours

void

Échantillons de code

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

Arrête la lecture du tween. Ne réinitialise pas ses variables de progression, ce qui signifie que si vous appelez TweenBase:Play(), le tween reprend la lecture à partir du moment qu'il a été interrompue.

Si vous souhaitez réinitialiser les variables de progression de la tween, utilisez TweenBase:Cancel() .

Vous ne pouvez suspendre que les jeunes qui sont dans le PlaybackState de Enum. PlaybackState.Playing ; les jeunes dans d'autres États ne


Retours

void

Échantillons de code

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

Démarre la lecture d'une tween. Notez que si la lecture a déjà commencé, en appelant Play() n'a aucun effet à moins que la tween n'ait fini ou soit arrêté (par TweenBase:Cancel() ou TweenBase:Pause()).

Plusieurs jeunes peuvent être joués sur le même objet en même temps, mais ils ne doivent pas animer la même propriété. Si deux jeunes tentent de modifier la même propriété, le tween initial est annulé et écrasé par le tween le plus récent (voir exemples).


Retours

void

Échantillons de code

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

Évènements

Completed

Se déclenche lorsque la fin de la balise tween est terminée ou lorsque vous l'arrêtez avec TweenBase:Cancel().

Passe le Enum.PlaybackState du tween à n'importe quelle fonction connectée pour indiquer pourquoi le tween s'est terminé. Remarquez que l'appel de Class.TweenBase:Pause() ne déclenche pas l'événement Completed.

Paramètres

playbackState: Enum.PlaybackState

Le Enum.PlaybackState de la tween à la fin de la campagne.


Échantillons de code

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