TweenSizeAndPosition
When using a callback with TweenSizeAndPosition, we see that proceeding yields do not work correctly.
local gui = game.StarterGui.ScreenGui.Frame
function revert()
gui.Position = UDim2.new(0, 0, 0, 0)
gui.Size = UDim2.new(0, 100, 0, 100)
end
revert()
gui:TweenSizeAndPosition(UDim2.new(0, 200, 0, 200), UDim2.new(.5, -100, .5, -100), "Out", "Quad", .3, true, function()
print("[1] - Callback for TweenSizeAndPosition")
end)
wait(5)
print("[2] - Waited 5 seconds after TweenSizeAndPosition")
TweenSize
The callback function of TweenPosition is also not called.
local gui = game.StarterGui.ScreenGui.Frame
function revert()
gui.Position = UDim2.new(0, 0, 0, 0)
gui.Size = UDim2.new(0, 100, 0, 100)
end
gui:TweenSize(UDim2.new(0, 200, 0, 200), "Out", "Quad", .3, true, function()
print("[3] - Callback for TweenSize")
end)
wait(5)
print("[4] - Waited 5 seconds after TweenSize")
TweenPosition
TweenPosition has the same problem as TweenSize.
[code]local gui = game.StarterGui.ScreenGui.Frame
function revert()
gui.Position = UDim2.new(0, 0, 0, 0)
gui.Size = UDim2.new(0, 100, 0, 100)
end
gui:TweenPosition(UDim2.new(.5, -50, .5, -50), “Out”, “Quad”, .3, true, function()
print(“[5] - Callback for TweenPosition”)
end)
wait(5)
print(“[6] - Waited 5 seconds after TweenPosition”)[/code]
Thrown All Together
If you throw those functions together, you will find that even more errors arise. While the last tween called seems to have it’s callback run, the rest do not seem to. They also throw some errors (see gif bellow).