Tween Service is used for interpolating, or smoothly changing, properties. For example, smoothly changing a part's color into a different color. It can also be used on gui objects to give them animation.
Get the service:
local TweenService = game:GetService("TweenService")
Defining a variable for TweenInfo, which is a special data type for TweenService, used to configure the animation.
local TweenService = game:GetService("TweenService")
local TI = TweenInfo.new(Time, EasingStyle, EasingDirection, RepeatCount,
Reverseable, Delay)
Time = The length of the animation, number value. EasingStyle = The behavior of the animation, Enum.EasingStyle or 0 - 7. • Enum.EasingStyle.Linear or 0 • Enum.EasingStyle.Sine or 1 • Enum.EasingStyle.Back or 2 • Enum.EasingStyle.Quad or 3 • Enum.EasingStyle.Quart or 4 • Enum.EasingStyle.Quint or 5 • Enum.EasingStyle.Bounce or 6 • Enum.EasingStyle.Elastic or 7 EasingDirection = The direction the animation starts, left or right, Enum.EasingDirection or 0 - 2. • Enum.EasingDirection.In or 0 • Enum.EasingDirection.Out or 1 • Enum.EasingDirection.InOut or 2 RepeatCount = How many times the animation will repeat after the initial play, integer value. Reverseable = Whether or not the tween will play in reverse after finishing, true or false value. Delay = Delay before playing the tween for the first time, number value.
Defining the properties to be tweened, which is just in a table:
local TweenService = game:GetService("TweenService")
local TI = TweenInfo.new(Time, EasingStyle, EasingDirection, RepeatCount,
Reverseable, Delay)
local TweenProperties = {Transparency = 0.5; Color = Color3.new(1, 0, 0)}
-- These properties are for Tweening a Part.
You can tween any properties that use these values: Number, Bool (true/false), CFrame, Rect, Color3, UDim, UDim2, Vector2, Vector2int16, Vector3.
Defining the Tween with the TweenInfo and TweenProperties:, using TweenService:Create():
local TweenService = game:GetService("TweenService")
local TI = TweenInfo.new(1, 0, 1, 0, false, 0)
-- Time:1, EasingStyle:Linear, EasingDirection:In, RepeatCount:0, Reverses:false,
-- Delay:0.
local TweenProperties = {Transparency = 0.5; Color = Color3.new(1, 0, 0}}
local Tween = TweenService:Create(OBJECT, TweenInfo, TweenProperties)
Object is the object you want to tween the properties of. This can be a Part or a gui object, etc.
Playing the tween:
local TweenService = game:GetService("TweenService")
local TI = TweenInfo.new(1, 0, 1, 0, false, 0)
local TweenProperties = {Transparency = 0.5; Color = Color3.new(1, 0, 0)}
local Tween = TweenService:Create(workspace.Part, TI, TweenProperties)
-- Will assume that workspace.Part exists, an example part object to tween.
Tween:Play()
The example part will turn 0.5 invisible and turn red within the span of 1 second, the tween's time.