new Size( [width] [, height] [, aspectMode] [, parent])
Parameters:
Name | Type | Argument | Default | Description |
---|---|---|---|---|
width |
number |
<optional> |
0 | The width of the Size component. |
height |
number |
<optional> |
width | The height of the Size component. If not given, it will use the |
aspectMode |
number |
<optional> |
0 | The aspect mode of the Size component. Defaults to 0, no mode. |
parent |
any |
<optional> |
null | The parent of this Size component. Can be any object with public |
- Since: 3.16.0
- Source: src/structs/Size.js (Line 12)
Members
-
<static, constant> ENVELOP :number
-
The width and height are automatically adjusted to make the size cover the entire target area while keeping the aspect ratio. This may extend further out than the target size.
Type:
- number
- Since: 3.16.0
- Source: src/structs/Size.js (Line 762)
-
<static, constant> FIT :number
-
The width and height are automatically adjusted to fit inside the given target area, while keeping the aspect ratio. Depending on the aspect ratio there may be some space inside the area which is not covered.
Type:
- number
- Since: 3.16.0
- Source: src/structs/Size.js (Line 752)
-
<static, constant> HEIGHT_CONTROLS_WIDTH :number
-
The width is automatically adjusted based on the height.
Type:
- number
- Since: 3.16.0
- Source: src/structs/Size.js (Line 742)
-
<static, constant> NONE :number
-
Do not make the size fit the aspect ratio. Change the ratio when the size changes.
Type:
- number
- Since: 3.16.0
- Source: src/structs/Size.js (Line 722)
-
<static, constant> WIDTH_CONTROLS_HEIGHT :number
-
The height is automatically adjusted based on the width.
Type:
- number
- Since: 3.16.0
- Source: src/structs/Size.js (Line 732)
-
<readonly> aspectMode :number
-
The aspect mode this Size component will use when calculating its dimensions. This property is read-only. To change it use the
setAspectMode
method.Type:
- number
- Since: 3.16.0
- Source: src/structs/Size.js (Line 71)
-
<readonly> aspectRatio :number
-
The proportional relationship between the width and height.
This property is read-only and is updated automatically when either the
width
orheight
properties are changed, depending on the aspect mode.Type:
- number
- Since: 3.16.0
- Source: src/structs/Size.js (Line 82)
-
height :number
-
The height of this Size component.
This value is clamped to the range specified by
minHeight
andmaxHeight
, if enabled.A height can never be less than zero.
Changing this value will automatically update the
width
if the aspect ratio lock is enabled. You can also use thesetHeight
andgetHeight
methods.Type:
- number
- Since: 3.16.0
- Source: src/structs/Size.js (Line 692)
-
<readonly> maxHeight :number
-
The maximum allowed height. This value is read-only. To change it see the
setMax
method.Type:
- number
- Since: 3.16.0
- Source: src/structs/Size.js (Line 130)
-
<readonly> maxWidth :number
-
The maximum allowed width. This value is read-only. To change it see the
setMax
method.Type:
- number
- Since: 3.16.0
- Source: src/structs/Size.js (Line 119)
-
<readonly> minHeight :number
-
The minimum allowed height. Cannot be less than zero. This value is read-only. To change it see the
setMin
method.Type:
- number
- Since: 3.16.0
- Source: src/structs/Size.js (Line 107)
-
<readonly> minWidth :number
-
The minimum allowed width. Cannot be less than zero. This value is read-only. To change it see the
setMin
method.Type:
- number
- Since: 3.16.0
- Source: src/structs/Size.js (Line 95)
-
<readonly> snapTo :Phaser.Math.Vector2
-
A Vector2 containing the horizontal and vertical snap values, which the width and height are snapped to during resizing.
By default this is disabled.
This property is read-only. To change it see the
setSnap
method.Type:
- Since: 3.16.0
- Source: src/structs/Size.js (Line 141)
-
width :number
-
The width of this Size component.
This value is clamped to the range specified by
minWidth
andmaxWidth
, if enabled.A width can never be less than zero.
Changing this value will automatically update the
height
if the aspect ratio lock is enabled. You can also use thesetWidth
andgetWidth
methods.Type:
- number
- Since: 3.16.0
- Source: src/structs/Size.js (Line 664)
Methods
-
constrain( [width] [, height] [, fit])
-
The current
width
andheight
are adjusted to fit inside the given dimensions, while keeping the aspect ratio.If
fit
is true there may be some space inside the target area which is not covered if its aspect ratio differs. Iffit
is false the size may extend further out than the target area if the aspect ratios differ.If this Size component has a parent set, then the width and height passed to this method will be clamped so it cannot exceed that of the parent.
Parameters:
Name Type Argument Default Description width
number <optional>
0 The new width of the Size component.
height
number <optional>
The new height of the Size component. If not given, it will use the width value.
fit
boolean <optional>
true Perform a
fit
(true) constraint, or anenvelop
(false) constraint.- Since: 3.16.0
- Source: src/structs/Size.js (Line 452)
Returns:
This Size component instance.
- Type
- Phaser.Structs.Size
-
copy(destination)
-
Copies the aspect mode, aspect ratio, width and height from this Size component to the given Size component. Note that the parent, if set, is not copied across.
Parameters:
Name Type Description destination
Phaser.Structs.Size The Size component to copy the values to.
- Since: 3.16.0
- Source: src/structs/Size.js (Line 628)
Returns:
The updated destination Size component.
- Type
- Phaser.Structs.Size
-
destroy()
-
Destroys this Size component.
This clears the local properties and any parent object, if set.
A destroyed Size component cannot be re-used.
- Since: 3.16.0
- Source: src/structs/Size.js (Line 648)
-
envelop( [width] [, height])
-
The current
width
andheight
are adjusted so that they fully envelope the given dimensions, while keeping the aspect ratio.The size may extend further out than the target area if the aspect ratios differ.
If this Size component has a parent set, then the values are clamped so that it never exceeds the parent on the longest axis.
Parameters:
Name Type Argument Default Description width
number <optional>
0 The new width of the Size component.
height
number <optional>
The new height of the Size component. If not given, it will use the width value.
- Since: 3.16.0
- Source: src/structs/Size.js (Line 542)
Returns:
This Size component instance.
- Type
- Phaser.Structs.Size
-
fitTo( [width] [, height])
-
The current
width
andheight
are adjusted to fit inside the given dimensions, while keeping the aspect ratio.There may be some space inside the target area which is not covered if its aspect ratio differs.
If this Size component has a parent set, then the width and height passed to this method will be clamped so it cannot exceed that of the parent.
Parameters:
Name Type Argument Default Description width
number <optional>
0 The new width of the Size component.
height
number <optional>
The new height of the Size component. If not given, it will use the width value.
- Since: 3.16.0
- Source: src/structs/Size.js (Line 521)
Returns:
This Size component instance.
- Type
- Phaser.Structs.Size
-
getNewHeight(value [, checkParent])
-
Takes a new height and passes it through the min/max clamp and then checks it doesn't exceed the parent height.
Parameters:
Name Type Argument Default Description value
number The value to clamp and check.
checkParent
boolean <optional>
true Check the given value against the parent, if set.
- Since: 3.16.0
- Source: src/structs/Size.js (Line 427)
Returns:
The modified height value.
- Type
- number
-
getNewWidth(value [, checkParent])
-
Takes a new width and passes it through the min/max clamp and then checks it doesn't exceed the parent width.
Parameters:
Name Type Argument Default Description value
number The value to clamp and check.
checkParent
boolean <optional>
true Check the given value against the parent, if set.
- Since: 3.16.0
- Source: src/structs/Size.js (Line 402)
Returns:
The modified width value.
- Type
- number
-
resize(width [, height])
-
Sets a new width and height for this Size component and updates the aspect ratio based on them.
It doesn't change the
aspectMode
and still factors in size limits such as the min max and parent bounds.Parameters:
Name Type Argument Default Description width
number The new width of the Size component.
height
number <optional>
width The new height of the Size component. If not given, it will use the
width
.- Since: 3.16.0
- Source: src/structs/Size.js (Line 380)
Returns:
This Size component instance.
- Type
- Phaser.Structs.Size
-
setAspectMode( [value])
-
Sets the aspect mode of this Size component.
The aspect mode controls what happens when you modify the
width
orheight
properties, or callsetSize
.It can be a number from 0 to 4, or a Size constant:
- NONE = Do not make the size fit the aspect ratio. Change the ratio when the size changes.
- WIDTH_CONTROLS_HEIGHT = The height is automatically adjusted based on the width.
- HEIGHT_CONTROLS_WIDTH = The width is automatically adjusted based on the height.
- FIT = The width and height are automatically adjusted to fit inside the given target area, while keeping the aspect ratio. Depending on the aspect ratio there may be some space inside the area which is not covered.
- ENVELOP = The width and height are automatically adjusted to make the size cover the entire target area while keeping the aspect ratio. This may extend further out than the target size.
Calling this method automatically recalculates the
width
and theheight
, if required.Parameters:
Name Type Argument Default Description value
number <optional>
0 The aspect mode value.
- Since: 3.16.0
- Source: src/structs/Size.js (Line 156)
Returns:
This Size component instance.
- Type
- Phaser.Structs.Size
-
setAspectRatio(ratio)
-
Sets a new aspect ratio, overriding what was there previously.
It then calls
setSize
immediately using the current dimensions.Parameters:
Name Type Description ratio
number The new aspect ratio.
- Since: 3.16.0
- Source: src/structs/Size.js (Line 361)
Returns:
This Size component instance.
- Type
- Phaser.Structs.Size
-
setCSS(element)
-
Sets the values of this Size component to the
element.style.width
andheight
properties of the given DOM Element. The properties are set aspx
values.Parameters:
Name Type Description element
HTMLElement The DOM Element to set the CSS style on.
- Since: 3.17.0
- Source: src/structs/Size.js (Line 610)
-
setHeight(height)
-
Sets the height of this Size component.
Depending on the aspect mode, changing the height may also update the width and aspect ratio.
Parameters:
Name Type Description height
number The new height of the Size component.
- Since: 3.16.0
- Source: src/structs/Size.js (Line 580)
Returns:
This Size component instance.
- Type
- Phaser.Structs.Size
-
setMax( [width] [, height])
-
Set the maximum width and height values this Size component will allow.
Setting this will automatically adjust both the
width
andheight
properties to ensure they are within range.Note that based on the aspect mode, and if this Size component has a parent set or not, the maximums set here can be exceed in some situations.
Parameters:
Name Type Argument Default Description width
number <optional>
Number.MAX_VALUE The maximum allowed width of the Size component.
height
number <optional>
width The maximum allowed height of the Size component. If not given, it will use the
width
.- Since: 3.16.0
- Source: src/structs/Size.js (Line 276)
Returns:
This Size component instance.
- Type
- Phaser.Structs.Size
-
setMin( [width] [, height])
-
Set the minimum width and height values this Size component will allow.
The minimum values can never be below zero, or greater than the maximum values.
Setting this will automatically adjust both the
width
andheight
properties to ensure they are within range.Note that based on the aspect mode, and if this Size component has a parent set or not, the minimums set here can be exceed in some situations.
Parameters:
Name Type Argument Default Description width
number <optional>
0 The minimum allowed width of the Size component.
height
number <optional>
width The minimum allowed height of the Size component. If not given, it will use the
width
.- Since: 3.16.0
- Source: src/structs/Size.js (Line 247)
Returns:
This Size component instance.
- Type
- Phaser.Structs.Size
-
setParent( [parent])
-
Sets, or clears, the parent of this Size component.
To clear the parent call this method with no arguments.
The parent influences the maximum extents to which this Size component can expand, based on the aspect mode:
NONE - The parent clamps both the width and height. WIDTH_CONTROLS_HEIGHT - The parent clamps just the width. HEIGHT_CONTROLS_WIDTH - The parent clamps just the height. FIT - The parent clamps whichever axis is required to ensure the size fits within it. ENVELOP - The parent is used to ensure the size fully envelops the parent.
Calling this method automatically calls
setSize
.Parameters:
Name Type Argument Description parent
any <optional>
Sets the parent of this Size component. Don't provide a value to clear an existing parent.
- Since: 3.16.0
- Source: src/structs/Size.js (Line 217)
Returns:
This Size component instance.
- Type
- Phaser.Structs.Size
-
setSize( [width] [, height])
-
Sets the width and height of this Size component based on the aspect mode.
If the aspect mode is 'none' then calling this method will change the aspect ratio, otherwise the current aspect ratio is honored across all other modes.
If snapTo values have been set then the given width and height are snapped first, prior to any further adjustment via min/max values, or a parent.
If minimum and/or maximum dimensions have been specified, the values given to this method will be clamped into that range prior to adjustment, but may still exceed them depending on the aspect mode.
If this Size component has a parent set, and the aspect mode is
fit
orenvelop
, then the given sizes will be clamped to the range specified by the parent.Parameters:
Name Type Argument Default Description width
number <optional>
0 The new width of the Size component.
height
number <optional>
width The new height of the Size component. If not given, it will use the
width
.- Since: 3.16.0
- Source: src/structs/Size.js (Line 303)
Returns:
This Size component instance.
- Type
- Phaser.Structs.Size
-
setSnap( [snapWidth] [, snapHeight])
-
By setting a Snap To value when this Size component is modified its dimensions will automatically by snapped to the nearest grid slice, using floor. For example, if you have snap value of 16, and the width changes to 68, then it will snap down to 64 (the closest multiple of 16 when floored)
Note that snapping takes place before adjustments by the parent, or the min / max settings. If these values are not multiples of the given snap values, then this can result in un-snapped dimensions.
Call this method with no arguments to reset the snap values.
Calling this method automatically recalculates the
width
and theheight
, if required.Parameters:
Name Type Argument Default Description snapWidth
number <optional>
0 The amount to snap the width to. If you don't want to snap the width, pass a value of zero.
snapHeight
number <optional>
snapWidth The amount to snap the height to. If not provided it will use the
snapWidth
value. If you don't want to snap the height, pass a value of zero.- Since: 3.16.0
- Source: src/structs/Size.js (Line 187)
Returns:
This Size component instance.
- Type
- Phaser.Structs.Size
-
setWidth(width)
-
Sets the width of this Size component.
Depending on the aspect mode, changing the width may also update the height and aspect ratio.
Parameters:
Name Type Description width
number The new width of the Size component.
- Since: 3.16.0
- Source: src/structs/Size.js (Line 563)
Returns:
This Size component instance.
- Type
- Phaser.Structs.Size
-
toString()
-
Returns a string representation of this Size component.
- Since: 3.16.0
- Source: src/structs/Size.js (Line 597)
Returns:
A string representation of this Size component.
- Type
- string