TweenService

Veraltete anzeigen

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

Nicht erstellbar
Dienst

TweenService wird verwendet, um Tweens zu erstellen, die die eigenschaften von instanzen interpolieren oder tween.Tweens kann auf jedem objekt mit kompatiblen eigenschaftstypen verwendet werden, einschließlich:

TweenService:Create() , die primäre konstruktionsfunktion, nimmt TweenInfo spezifikationen über den teenager und erzeugt das Tween objekt, das dann verwendet werden kann, um den tweenzu spielen.

Beachten Sie, dass Tweens mehrere Eigenschaften gleichzeitig interpolieren kann, aber sie dürfen nicht die gleiche Eigenschaft interpolieren.Wenn zwei Teenager versuchen, die gleiche Eigenschaft zu modifizieren, wird der initiale Teenager abgebrochen und durch den jüngsten Tweenüberschrieben.

Code-Beispiele

In this example a Tween is created to animate the position and color of a Part. Because the position and color are part of the same tween, they will change at the exact same rate and will reach their goal at the same time.

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

This code sample includes an example of how a looped tween can be created. A part is instanced in the Workspace and a Tween is created using TweenService:Create() that is set to animate its position along the Y axis.

The looped effect is achieved by modifying the TweenInfo used in TweenService:Create(). Specifically, when RepeatCount is set to less than 0, the tween will play indefinitely. Also, setting Reverses to true will cause the tween to play in reverse once it has reached its destination. In combination this creates a looped effect.

The correct way to make a tween play indefinitely is to set RepeatCount to -1. You should avoid using large numbers or math.huge() as a substitute as this is unstable and may stop working at any point.

Looping a Tween

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

This sample demonstrates how the playback of a tween can be paused and resumed.

A part is instanced in the Workspace and a tween is setup that will move it 50 studs along the X axis. However during playback the tween is briefly paused, then resumed. To further illustrate this the BrickColor of the part changes from red to green while it is paused.

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

Zusammenfassung

Methoden

Eigenschaften

Methoden

Create

Dieser Konstruktor erstellt ein neues Tween von drei Argumenten: das Objekt zum Tween, die TweenInfo Spezifikationen und eine Tabelle mit den Eigenschaften zum Übergang und Werten zum Übergang.

Der propertyTable -Parameter muss ein Diktionär sein, in dem die Schlüssel die Stringnamen der Eigenschaft sind (zum Beispiel Position , Transparency oder Color ), und die Werte sind die Eigenschaftsziele am Ende des Tween.

Die Tween erstellt, die mit dieser Funktion erstellt wird, ist einzigartig für das Objekt, das als instance Parameter angegeben wird.Um dasselbe Tween auf ein anderes Objekt anzuwenden, rufe diese Funktion erneut mit dem neuen Objekt auf.

Parameter

instance: Instance

Die Instance, deren Eigenschaften durchgespielt werden sollen.

Standardwert: ""
tweenInfo: TweenInfo

Die TweenInfo zu verwenden.

Standardwert: ""
propertyTable: Dictionary

Ein Wörterbuch von Eigenschaften und ihren Zielwerten, die durchgespielt werden sollen.

Standardwert: ""

Rückgaben

Code-Beispiele

In this example a Tween is created to animate the position and color of a Part. Because the position and color are part of the same tween, they will change at the exact same rate and will reach their goal at the same time.

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

This code sample includes an example of how a looped tween can be created. A part is instanced in the Workspace and a Tween is created using TweenService:Create() that is set to animate its position along the Y axis.

The looped effect is achieved by modifying the TweenInfo used in TweenService:Create(). Specifically, when RepeatCount is set to less than 0, the tween will play indefinitely. Also, setting Reverses to true will cause the tween to play in reverse once it has reached its destination. In combination this creates a looped effect.

The correct way to make a tween play indefinitely is to set RepeatCount to -1. You should avoid using large numbers or math.huge() as a substitute as this is unstable and may stop working at any point.

Looping a Tween

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

Gibt einen neuen Alpha-Wert für die Interpolation mit dem angegebenen Alpha-Wert, Enum.EasingStyle , und Enum.EasingDirection zurück.Der angegebene alpha Wert wird zwischen 0 und 1 eingeklemmt.

Parameter

alpha: number

Ein Interpolationswert zwischen 0 und 1.

Standardwert: ""
easingStyle: Enum.EasingStyle

Der Lockerungsstil zum Verwenden.

Standardwert: ""
easingDirection: Enum.EasingDirection

Die Lockerungsrichtung zum Verwenden.

Standardwert: ""

Rückgaben

Ein neuer Alpha-Wert, der aus dem angegebenen Lockerungsstil und Richtung generiert wurde.

SmoothDamp

Parallel schreiben

Gibt eine Tupla zurück, die es ermöglicht, einen Wert in Richtung Ziel zu glätten, und simuliert eine kritisch gedämpfte Feder.Unterstützt Vector2 , Vector3 , CFrame und Zahl.

Parameter

current: Variant

Die aktuelle Position.

Standardwert: ""
target: Variant

Die Zielposition.

Standardwert: ""
velocity: Variant

Die ursprüngliche Geschwindigkeit, mit der die aktuelle Position die Zielposition erreichen sollte.

Standardwert: ""
smoothTime: number

Die Dauer, in der die Gesamtglättungsoperation Ortwerden sollte.

Standardwert: ""
maxSpeed: number

Die maximale Geschwindigkeit, mit der die aktuelle Position der Zielposition nahekommen sollte.

Standardwert: ""
dt: number

Die Rate, mit der die Glättungsoperation angewendet werden sollte.

Standardwert: ""

Rückgaben

Die neue Position und Geschwindigkeit, die aus der Glättungsoperation berechnet wurde.

Ereignisse