Data type
UDim2
Represents a two-dimensional value where each dimension is composed of a relative scale and an absolute offset.
The UDim2 data type represents a two-dimensional value where each
dimension is composed of a relative scale and an absolute offset in logical
pixels. It is a combination of two UDim data types representing the
X and Y dimensions. The most common usages for UDim2 are
setting the Size and
Position of GuiObjects.
local guiObject = Instance.new("Frame")
guiObject.Size = UDim2.new(0, 300, 1, 0) -- 300 logical pixels wide; full height of parent
guiObject.Position = UDim2.new(0, 50, 0, 0) -- 50 logical pixels from the left
print(guiObject.Size) --> {0, 300}, {1, 0}Constructors 5#
| new | Returns a new UDim2 with the coordinates of two zero
UDim components representing each axis. |
| new | Returns a new UDim2 given the coordinates of the two
UDim components representing each axis. |
| new | Returns a new UDim2 from the given UDim objects
representing the X and Y dimensions, respectively. |
| fromScale | Returns a new UDim2 with the given scale components and no
offsets. |
| fromOffset | Returns a new UDim2 with the given offset components and no
scaling. |
new()#
Returns a new UDim2 with both dimensions set to zero —
equivalent to UDim2.new(0, 0, 0, 0). All four components (X scale, X
offset, Y scale, Y offset) default to 0.
new(xScale: number = 0, xOffset: number = 0, yScale: number = 0, yOffset: number = 0)#
Returns a new UDim2 from four numbers that define both axes.
Each pair of arguments defines one dimension: xScale and xOffset for
the horizontal (X) axis, then yScale and yOffset for the vertical
(Y) axis. Scale is a relative fraction of the parent container's size
(typically between 0 and 1), while offset is an absolute logical pixel
value added after scaling. All parameters default to 0.
-- 50% width + 20 logical pixels padding, full height
local size = UDim2.new(0.5, 20, 1, 0)| Name | Type | Default | Description |
|---|---|---|---|
xScale | number | 0 | The X dimension scale. |
xOffset | number | 0 | The X dimension offset. |
yScale | number | 0 | The Y dimension scale. |
yOffset | number | 0 | The Y dimension offset. |
new(x: UDim, y: UDim)#
Constructs a UDim2 by composing two UDim values
directly. The first argument becomes the horizontal dimension (accessible
via .X or .Width) and the second becomes the vertical dimension
(accessible via .Y or .Height).
local x = UDim.new(0.5, 10)
local y = UDim.new(1, 0)
local size = UDim2.new(x, y) -- equivalent to UDim2.new(0.5, 10, 1, 0)fromScale(xScale: number = 0, yScale: number = 0)#
Returns a new UDim2 with the given scalar coordinates and no
offsets. Equivalent to:
local xScale, yScale = 0.5, 0.25
print(UDim2.fromScale(xScale, yScale) == UDim2.new(xScale, 0, yScale, 0)) --> true| Name | Type | Default | Description |
|---|---|---|---|
xScale | number | 0 | The relative scale for the horizontal (X) axis. |
yScale | number | 0 | The relative scale for the vertical (Y) axis. |
fromOffset(xOffset: number = 0, yOffset: number = 0)#
Returns a new UDim2 with the given offset coordinates and no
scaling. Equivalent to:
local xOffset, yOffset = 100, 50
print(UDim2.fromOffset(xOffset, yOffset) == UDim2.new(0, xOffset, 0, yOffset)) --> true| Name | Type | Default | Description |
|---|---|---|---|
xOffset | number | 0 | The absolute logical pixel offset for the horizontal (X) axis. |
yOffset | number | 0 | The absolute logical pixel offset for the vertical (Y) axis. |
Properties 4#
XUDim | The X dimension scale and offset of the UDim2. |
YUDim | The Y dimension scale and offset of the UDim2. |
WidthUDim | The X dimension scale and offset of the UDim2. |
HeightUDim | The Y dimension scale and offset of the UDim2. |
X: UDim#
The UDim component for the horizontal axis. The returned
UDim has a .Scale (relative fraction) and .Offset (absolute
logical pixels). This property is equivalent to UDim2.Width.
local pos = UDim2.new(0.5, 10, 1, 0)
print(pos.X.Scale) -- 0.5
print(pos.X.Offset) -- 10Y: UDim#
The UDim component for the vertical axis. The returned
UDim has a .Scale (relative fraction) and .Offset (absolute
logical pixels). This property is equivalent to UDim2.Height.
local pos = UDim2.new(0.5, 10, 1, 0)
print(pos.Y.Scale) -- 1
print(pos.Y.Offset) -- 0Width: UDim#
Height: UDim#
Methods 1#
Lerp(goal: UDim2, alpha: number): UDim2#
Returns a UDim2 interpolated linearly between this
UDim2 and the given goal. The alpha value should be a
number between 0 and 1.