TweenService 用於創建Tweens ,這些會以不同的方式檢查或減少實例的屬性。Tweens 可以用於任何具有兼容屬性類型的對象,包括:
TweenService:Create() , 主要的建造功能, 需要 TweenInfo ����ween 的細節, 並生成 Class.Tween 對象, 可以用於播放補間動畫。
注意,Tweens 可以在同一時間接受多個屬性,但必須不是接受相同的屬性。如果兩個屬性的 tweens 嘗試修改相同的屬性,初始的暫停將被取消並由最近的補間動畫覆蓋。
範例程式碼
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()
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 it's 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
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()
概要
方法
- GetValue(alpha : number,easingStyle : Enum.EasingStyle,easingDirection : Enum.EasingDirection):number
計算出一個新的 alpha ,其中 Enum.EasingStyle 和 Enum.EasingDirection。
- SmoothDamp(current : Variant,target : Variant,velocity : Variant,smoothTime : number,maxSpeed : number?,dt : number?):Tuple
屬性
方法
Create
Create 構建器從三個參數中創建新的 Tween:對象來補間動畫,TweenInfo 指定,以及包含滾動和值的表。
PropertyTable 參數需要是一個典型,其中鑰匙是屬性的字串名 (例如 Position 、 Transparency 或 1>Color1>) ,值是晶補間動畫結束時的屬性目標。
使用此功能創建的 Tween 對象是 instance 參數的唯一。要將此梳妝應用到另一個對物件,請再次呼叫此函數並將新對物件與之。
參數
Class.Instance 的屬性要斷條。
一個用於擷取的目標值和屬性的字典。
返回
範例程式碼
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()
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 it's 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
使用提供的 alpha 值,Enum.EasingStyle 和 Enum.EasingDirection ,返回新的 alpha 值。提供的 alpha 值將被壓縮在 2>02> 和 5>15> 之間。
參數
一個值 interpolation 在 0 和 1 之間。
使用的紓緩風格。
使用的輕鬆方向。
返回
一個新的 alpha 值,從指定的緩解風格和方向中生成。