TextBox.Focused:connect(function()
for i = 0,1,0.01 do
print(i)
Frame.BackgroundColor3:lerp(colors[Color][800], i)
Frame.Size:lerp(UDim2.new(XSize,0,0,3),i)
wait(0.01)
end
end)
you can probably predict what is going on here
TextBox.Focused:connect(function()
for i = 0,1,0.01 do
print(i)
Frame.BackgroundColor3:lerp(colors[Color][800], i)
Frame.Size:lerp(UDim2.new(XSize,0,0,3),i)
wait(0.01)
end
end)
you can probably predict what is going on here
Something you should know: lerping ScreenGuis is gratuitous
Use TweenSize!
TextBox.Focused:connect(function()
local targetSize = UDim2.new(XSize,0,0,3);
Frame:TweenSize(targetSize,"InOut","Linear",.2);
repeat wait() until Frame.Size == targetSize;
end)
When using lerp, I like to make functions so it's easier to do.
I made a simple function that goes through a table and lerps to whatever color is next;
function hb(num) --This function is just a Hearbeat:wait(); it makes the lerp smooth
if num == 0 or num == nil then
game:GetService("RunService").Heartbeat:wait()
else
for i = 0,num do
game:GetService("RunService").Heartbeat:wait()
end
end
end
function llerp(gui,Table,timeToNextFrame,alpha,hbWait)
spawn(function() --This is so you can run other code while the llerp function is being ran
local Frame = 1 --Starting at table[1]
for t = 1,#Table,1 do --Looping through the table
print("TABLE: "..t) --This will print where the function is in the table
if Frame > #Table then print'Done' break else Frame = Frame + 1 end --Checking if it is done going through the table, and if it isn't adds 1 to table
for i = 0,1,alpha do --Alpha is the amount of times it will loop to get to 1. (.1 will be 10, .01 will be 100)
gui.BackgroundColor3 = gui.BackgroundColor3:lerp(Table[t],i) --Doing the lerp
hbWait = hbWait or 0 --If hbWait is nil, it will be 0
hb(hbWait) --Smooth waiting
end
wait(timeToNextFrame) --This is how long it will wait until lerping to the next color
end
end)
end
local colors = {
Color3.new(1,0,0); --Red
Color3.new(0,1,0); --Green
Color3.new(0,0,1); --Blue
Color3.new(1,1,1); --White
Color3.new(0,0,0) --Black
}
--And finally, calling the function
llerp(script.Parent,colors,.5,.01,.01)
----Where the GUI is, the table for the colors, the time it takes to go to the next color, the amount of times it will loop to get to 1 (smaller numbers = smoother lerp), and the heartbeat:wait() (smaller numbers also = smoother lerp)
As for the Frame's size, simply use TweenSize;
Frame.Size:TweenSize(UDim2.new(XSize),0,0,3), "Out", "Sine")
This discussion is preserved as it was. New answers, comments, and votes are closed.
1 comment
Sometimes this happens