TweenService 用于创建Tweens ,它们可以使用或渐变属性。Tweens 可以用于任何具有兼容属性类型的对象,包括:
TweenService:Create() , 主要的建造功能,需要 TweenInfo 对�ween 的描述,生成 Tween 对象,可以用于播放�ween。
注意,Tweens 可以同时为多个属性 interpolate ,但它们不能相互 interpolate 。如果两个 tween 尝试修改相同的属性,初始 tween 将被取消并由最新的 tween 覆盖。
代码示例
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>),值是 twee补间动画 的终点。
使用此函数创建的 Class.Tween 对对象使用作为 实例nst 参数独一无二。要将同一的渐变应用到另一个对象,请使用新对象再次调用此函数。
参数
Class.Instance 的属性要求渐变。
用于�weening 的属性和其目标值的字典。
返回
代码示例
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 值将被压缩在 1> 01> 和 4> 14> 之间。
参数
一个值,在 0 和 1 之间。
使用轻松风格。
使用的松糕方向。
返回
从给定的放松风格和方向中生成的新 alpha 值。