i made a piano that expands across the screen, the white keys and sizing of the black keys is working as expected, there is a folder in the same parent of the script called Piano, this is where the frames of the keys are stored, but as any piano looks, black keys are placed weirdly, how would i calculate the position of the black keys on the screen (Scale or Offset or both propertys of a udim2 can be used):
script.Parent.DrawPiano.Event:connect(function(octaves) local whitekeys = 7*octaves --calculate white keys amount local blackkeys = 5*octaves --calculate black keys amount for i=1,whitekeys,1 do local key = Instance.new("Frame", script.Parent.Piano) key.Size = UDim2.new( 0, script.Parent.AbsoluteSize.X/whitekeys, 0, 150 ) key.Position = UDim2.new( (i-1)/whitekeys, 0, 1, -150 ) key.BackgroundColor3 = Color3.new(1,1,1) key.BorderColor3 = Color3.new(0.67, 0.67, 0.67) key.BorderSizePixel = 2 key.ZIndex = 2 key.Name = "WhiteKey" end for i=1,blackkeys,1 do local key = Instance.new("Frame", script.Parent.Piano) key.Size = UDim2.new( 1/whitekeys, -15, 0, 75 ) key.Position = UDim2.new( (i-1)/blackkeys, 0, 1, -150 ) key.BackgroundColor3 = Color3.new(0.2,0.2,0.2) key.BorderColor3 = Color3.new(0,0,0) key.BorderSizePixel = 2 key.ZIndex = 3 key.Name = "BlackKey" end end)