如何在 ROBLOX 补间后触发功能
How to trigger a function after tweening in ROBLOX
有人知道补间后如何触发函数调用吗?我想在补间停止后显示一些文本。
您必须在 tweeninfo 变量中设置补间时间。只需让它在 wait() 与 tween 进入 play() 的时间相同,然后触发一个函数。
Tweens 带有一个 Completed 事件,您可以将回调附加到它。
在 LocalScript 中,你可以有这样的东西:
local TweenService = game:GetService("TweenService")
-- find your GUI element to animate
local lp = game.Players.LocalPlayer
local exampleScreen = Instance.new("ScreenGui", lp.PlayerGui)
exampleScreen.Name = "Example"
local label = Instance.new("TextLabel")
label.Position = UDim2.new(0,0,0,0)
label.Size = UDim2.new(0, 10, 0, 10)
label.Parent = exampleScreen
-- choose some properties to animate
local goal = {}
goal.Position = UDim2.new(0.5, -20, 0.5, -100)
goal.Size = UDim2.new(0.5, 40, 0.5, 200)
-- create the tween
local time = 5 --seconds
local tweenInfo = TweenInfo.new(time)
local tween = TweenService:Create(label, tweenInfo, goal)
-- listen for when the tween is finished
tween.Completed:Connect( function(tweenState)
label.Text = "Tween Completed"
end)
-- play the tween
tween:Play()
有人知道补间后如何触发函数调用吗?我想在补间停止后显示一些文本。
您必须在 tweeninfo 变量中设置补间时间。只需让它在 wait() 与 tween 进入 play() 的时间相同,然后触发一个函数。
Tweens 带有一个 Completed 事件,您可以将回调附加到它。
在 LocalScript 中,你可以有这样的东西:
local TweenService = game:GetService("TweenService")
-- find your GUI element to animate
local lp = game.Players.LocalPlayer
local exampleScreen = Instance.new("ScreenGui", lp.PlayerGui)
exampleScreen.Name = "Example"
local label = Instance.new("TextLabel")
label.Position = UDim2.new(0,0,0,0)
label.Size = UDim2.new(0, 10, 0, 10)
label.Parent = exampleScreen
-- choose some properties to animate
local goal = {}
goal.Position = UDim2.new(0.5, -20, 0.5, -100)
goal.Size = UDim2.new(0.5, 40, 0.5, 200)
-- create the tween
local time = 5 --seconds
local tweenInfo = TweenInfo.new(time)
local tween = TweenService:Create(label, tweenInfo, goal)
-- listen for when the tween is finished
tween.Completed:Connect( function(tweenState)
label.Text = "Tween Completed"
end)
-- play the tween
tween:Play()