any ideas on how to fix this? image and video of what it's tryna change is shown.
code:
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local gui = playerGui:WaitForChild("mainGui")
local frame = gui:WaitForChild("MainFrame")
frame.AnchorPoint = Vector2.new(0.5, 0.5)
frame.Position = UDim2.new(0.5, 0, 0.5, 0)
local function scaleUI()
local screenX, screenY = playerGui.AbsoluteSize.X, playerGui.AbsoluteSize.Y
if UserInputService.TouchEnabled then
-- MOBILE
local widthScale = math.clamp(screenX / 1080, 0.5, 0.9)
local heightScale = math.clamp(screenY / 1920, 0.5, 0.8)
frame.Size = UDim2.new(widthScale, 0, heightScale, 0)
else
-- DESKTOP/PC
local widthScale = math.clamp(screenX / 1920, 0.5, 0.6)
local heightScale = math.clamp(screenY / 1080, 0.5, 0.5)
frame.Size = UDim2.new(widthScale, 0, heightScale, 0)
end
end
if playerGui.AbsoluteSize.X == 0 then
RunService.RenderStepped:Wait()
end
scaleUI()
playerGui:GetPropertyChangedSignal("AbsoluteSize"):Connect(scaleUI)
UserInputService.TouchEnabledChanged:Connect(scaleUI)