TweenBase

Veraltete anzeigen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Nicht erstellbar
Nicht durchsuchbar

Abstrakte Basis-Klasse für In-Between-Interpolation-Handler; Eltern-Klasse von Tween .

Zusammenfassung

Eigenschaften

Methoden

  • Cancel():void

    Stoppt die Wiedergabe und setzt die Tween- Variablen zurück. Wenn Sie dann TweenBase:Play() aufrufen, werden die Eigenschaften der Tween wieder mit ihrem Zielort interpoliert, aber nehmen Sie die gesamte Länge der Animation in Anspruch, um dies zu tun.

  • Pause():void

    Hält die Wiedergabe des Tween. Setzt seine Fortschrittsvariablen nicht zurück, sodass wenn Sie TweenBase:Play() aufrufen, die Wiedergabe vom Moment an fortgesetzt wird, in dem sie angehalten wurde.

  • Play():void

    Startet die Wiedergabe eines Tween. Beachten Sie, dass, wenn die Wiedergabe bereits gestartet wurde, das Aufrufen von Play() keinen Effekt hat, es sei denn, der Tween terminiert oder wird angehalten (either by TweenBase:Cancel() oder TweenBase:Pause()).

Ereignisse

Eigenschaften

PlaybackState

Schreibgeschützt
Nicht repliziert
Parallel lesen

Lesen-nur-Eigenschaft, die die aktuelle Stufe für die Tween Animationenanzeigt. Siehe Enum.PlaybackState für Beschreibungen jedes Zustands. Ändern Sie mit Funktionen wie Tween:Play().

Code-Beispiele

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

Methoden

Cancel

void

Stoppt die Wiedergabe eines Tween und setzt die Tween- Variablen zurück.

Setzt nur die Tween- Variablen zurück, nicht die Eigenschaften, die vom Tween geändert werden. Wenn Sie eine Tween-Animation mitten durch seine Animationenabbrechen, werden die Eigenschaften nicht auf ihre ursprünglichen Werte zurückgesetzt. Es unterscheidet sich von TweenBase:Pause(), in dem eine Animationenwieder aufgenommen wird, dass die gesamte Dauer der Tween abgeschlossen ist.


Rückgaben

void

Code-Beispiele

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

Hält die Wiedergabe des Tween. Setzt seine Fortschrittsvariablen nicht zurück, sodass wenn Sie TweenBase:Play() aufrufen, die Wiedergabe vom Moment an fortgesetzt wird, in dem sie angehalten wurde.

Wenn Sie die Fortschrittsvariablen des Tween zurücksetzen möchten, verwenden Sie TweenBase:Cancel() .

Du kannst nur Tweens, die in der PlaybackState von Enum. PlaybackState.Playing anderen Spielstaaten, wie PlaybackState


Rückgaben

void

Code-Beispiele

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

Startet die Wiedergabe eines Tween. Beachten Sie, dass, wenn die Wiedergabe bereits gestartet wurde, das Aufrufen von Play() keinen Effekt hat, es sei denn, der Tween terminiert oder wird angehalten (either by TweenBase:Cancel() oder TweenBase:Pause()).

Mehrere Teenager können auf demselben Objekt gleichzeitig gespielt werden, aber sie dürfen nicht die gleiche Eigenschaftenanimieren. Wenn zwei Teenager versuchen, die gleiche Eigenschaftenzu ändern, wird der ursprüngliche Tween abgebrochen und überschrieben durch den neuesten Tweet (siehe Beispiele).


Rückgaben

void

Code-Beispiele

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

Ereignisse

Completed

Feuert, wenn die Anpassung fertig ist, oder wenn sie mit TweenBase:Cancel() aufgehört wird.

Überträgt die Enum.PlaybackState des Tween an alle verbundenen Funktionen, um anzuzeigen, warum das Tween beendet wurde. Beachten Sie, dass das Aufrufen von TweenBase:Pause() das Completed.

Parameter

playbackState: Enum.PlaybackState

Der Enum.PlaybackState des Tween beim Abschluss.


Code-Beispiele

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