actually one thing, instead of using clipsdescendants to change the apparant size of the imagelabel, have you tried putting a copy of the background image on top of the second image label and resizing that instead, this way you can keep it as a direct child of the first image label while still being able to change how much is hidden (given that the background imagelabel isnt transparent)
Depending on the image scaling type, the image would either shrink or get squashed if I tried that. Both image labels need the same size for the image to actually be the same.
oh i see
alright then well i think you should make a script that sets the second imagelabel’s offset size to the first imagelabel’s AbsoluteSize (which is in pixels) permanently until loading is complete
sorry for the late reply but heres a script i made for a localscript thats parented to the first imagelabel that should hopefully accomplish what you want
runService = game:GetService("RunService")
imagelabel1 = script.Parent -- first imagelabel
imagelabel2 = imagelabel1.Frame.ImageLabel --second imagelabel
updateSize = function()
imagelabel2.Size = UDim2.new(0,imagelabel1.AbsoluteSize.X,0,imagelabel1.AbsoluteSize.Y)
end -- function to continually update the size of the second image label
runService:BindToRenderStep("updatebar",10,updateSize)
--bind to render step on camera priority (some random arbitrary number i picked)
local function unbindBarRenderStep()
runService:UnbindFromRenderStep("updatebar")
end --unbind this when needed
please tell me if theres something wrong with the code btw
when you need to remove the loading screen, run unbindBarRenderStep()
this should allow the second imagelabel to stay the same size as the first imagelabel while also still being able to resize the frame separately AND keeping clips descendants on without changing the hierarchy