OK I just started messing around with tweening on GUI's and so far I've come up with this piece of code:
button = script.Parent.button
button.MouseEnter:connect(function()
button:TweenPosition(UDim2.new(0, 0, 0, 400))
print("Enter")
end)
button.MouseLeave:connect(function()
button:TweenPosition(UDim2.new(0, -85, 0, 400))
print("Leave")
end)
Generaly, it works. But, if you were to remove your mouse and the gui hasnt finished moving, it breaks and then the script never works again, and the GUI is left at where-ever it broke. So my question is, how do I prevent/fix this?

1 comment
I suggest exploring all the parameters with :Tweening, you can make some cool effects with them.