Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
1

TweenScript Does Not Function AS iNTENEDED?

Asked by
sammiya1 134
7 years ago
wait(1)
while script.Parent.Position == (UDim2.new(0.25, 0,0.05, 0))
do script.Parent:TweenPosition(UDim2.new(0.25, 0,0.06, 0))
end
--Now For Up--
wait(2)
while script.Parent:TweenPosition(UDim2.new(0.25, 0,0.06, 0))
do script.Parent:TweenPosition(UDim2.new(0.25, 0,0.05, 0))
end

It crashes my studio too lmao

1 answer

Log in to vote
0
Answered by 7 years ago
Edited 7 years ago

Let's go through the list of problems.

  • Number One,

You're not waiting in the loop. Please look at the current tip of the day once and a while.

  • Number Two,

You have two while loops and code can't run at the same place at the same time unless you use special functions.

  • Number Three,

You're not telling your tween how long you want it to last, so it happens instantly.

Fix,

After fixing all these problems we get a script that loops somewhat like this,

while wait() do
    if script.Parent.Position == (UDim2.new(0.25, 0,0.05, 0)) then
        script.Parent:TweenPosition(UDim2.new(0.25, 0,0.06, 0),"Out", "Quad", 0.02)
    elseif script.Parent.Position == (UDim2.new(0.25, 0,0.06, 0)) then
        script.Parent:TweenPosition(UDim2.new(0.25, 0,0.05, 0),"Out", "Quad", 0.02)
    end
end

However you made it move so slightly that you'll probably never notice it. So I made it move faster and further. We also really don't need conditional statement, we can just wait for the tween to stop. Example,

while wait(0.5) do
    script.Parent:TweenPosition(UDim2.new(0.25, 0,0.7, 0),"Out", "Quad", 0.5)
    wait(0.5)
    script.Parent:TweenPosition(UDim2.new(0.25, 0,0.4, 0),"Out", "Quad", 0.5)
end

Here's a link for more about tweening.

Good Luck!

If I helped, please don't forget to accept my answer.
Ad

Answer this question