You can try this:
local Test = script.Parent.Frame
for i = 1,10 do
Y += 0.1
Test.BackgroundTransparency += 0.1
wait(0.01)
end
You can try this:
local Test = script.Parent.Frame
for i = 1,10 do
Y += 0.1
Test.BackgroundTransparency += 0.1
wait(0.01)
end
Try using a global function (in a module would be good). Like this:
local function tweenTransparency
(child : GuiObject,length : number,start : number,finish : number,pause : boolean)
local Tween = nil;
local Info = TweenInfo.new(length);
if child:IsA("TextLabel") or child:IsA("TextButton") then
Tween = game:GetService("TweenService"):Create(child,Info,{TextTransparency=finish,TextStrokeTransparency=finish});
elseif child:IsA("TextBox") then
Tween = game:GetService("TweenService"):Create(child,Info,{TextTransparency=finish,TextStrokeTransparency=finish,BackgroundTransparency=finish});
elseif child:IsA("ImageLabel") or child:IsA("ImageButton") then
Tween = game:GetService("TweenService"):Create(child,Info,{ImageTransparency=finish});
elseif child:IsA("UIStroke") then
Tween = game:GetService("TweenService"):Create(child,Info,{Transparency=finish});
elseif child:IsA("Frame") or child:IsA("ScrollingFrame") then
Tween = game:GetService("TweenService"):Create(child,Info,{BackgroundTransparency=finish});
elseif child:IsA("ViewportFrame") then
Tween = game:GetService("TweenService"):Create(child,Info,{BackgroundTransparency=finish,ImageTransparency=finish});
end
if Tween ~= nil then
Tween:Play();
pause = pause or false;
if pause == true then
Tween.Completed:Wait();
end
Tween.Completed:Connect(function()
Tween:Destroy();
end)
end
Info = nil;
end
function TweenFade(object: GuiObject, length : number, fadeIn : boolean)
length = length or 1;
local Tween = nil;
fadeIn = fadeIn or false;
local end_transp = 0;
if fadeIn == false then end_transp = 1; end
for _, child in pairs(object:GetDescendants()) do
tweenTransparency(child,length,0,end_transp);
end
tweenTransparency(object,length,0,end_transp);
end
You can call it using:
local guiToFade = theScreenYouShowed;
TweenFade(guiToFade,2,false); -- 2 second fade, last param=false will fadeout, =true will fade in, just make sure the transparency is set to invisible before you fade in, and that it's visible before you fade out