Skip to main content
Version: Phaser v3.88.2

Frame

A Frame is a section of a Texture.

Constructor

new Frame(texture, name, sourceIndex, x, y, width, height)

Parameters

nametypeoptionaldescription
texturePhaser.Textures.TextureNoThe Texture this Frame is a part of.
namenumber | stringNoThe name of this Frame. The name is unique within the Texture.
sourceIndexnumberNoThe index of the TextureSource that this Frame is a part of.
xnumberNoThe x coordinate of the top-left of this Frame.
ynumberNoThe y coordinate of the top-left of this Frame.
widthnumberNoThe width of this Frame.
heightnumberNoThe height of this Frame.

Scope: static

Source: src/textures/Frame.js#L11
Since: 3.0.0

Public Members

autoRound

autoRound: number

Description:

Over-rides the Renderer setting.

-1 = use Renderer Setting

0 = No rounding

1 = Round

Source: src/textures/Frame.js#L227
Since: 3.0.0


canvasData

canvasData: object

Description:

The Canvas drawImage data object.

Source: src/textures/Frame.js#L952
Since: 3.0.0


centerX

centerX: number

Description:

The x center of this frame, floored.

Source: src/textures/Frame.js#L165
Since: 3.0.0


centerY

centerY: number

Description:

The y center of this frame, floored.

Source: src/textures/Frame.js#L174
Since: 3.0.0


customData

customData: object

Description:

Any Frame specific custom data can be stored here.

Source: src/textures/Frame.js#L240
Since: 3.0.0


customPivot

customPivot: boolean

Description:

Does this Frame have a custom pivot point?

Source: src/textures/Frame.js#L203
Since: 3.0.0


cutHeight

cutHeight: number

Description:

The height of the area in the source image to cut.

Source: src/textures/Frame.js#L98
Since: 3.0.0


cutWidth

cutWidth: number

Description:

The width of the area in the source image to cut.

Source: src/textures/Frame.js#L89
Since: 3.0.0


cutX

cutX: number

Description:

X position within the source image to cut from.

Source: src/textures/Frame.js#L71
Since: 3.0.0


cutY

cutY: number

Description:

Y position within the source image to cut from.

Source: src/textures/Frame.js#L80
Since: 3.0.0


glTexture

glTexture: Phaser.Renderer.WebGL.Wrappers.WebGLTextureWrapper

Description:

A reference to the Texture Source WebGL Texture that this Frame is using.

Source: src/textures/Frame.js#L832
Since: 3.11.0


halfHeight

halfHeight: number

Description:

Half the height, floored.

Precalculated for the renderer.

Source: src/textures/Frame.js#L155
Since: 3.0.0


halfWidth

halfWidth: number

Description:

Half the width, floored.

Precalculated for the renderer.

Source: src/textures/Frame.js#L145
Since: 3.0.0


height

height: number

Description:

The rendering height of this Frame, taking trim into account.

Source: src/textures/Frame.js#L136
Since: 3.0.0


is3Slice

is3Slice: boolean

Description:

If the Frame has scale9 border data, is it 3-slice or 9-slice data?

Source: src/textures/Frame.js#L935
Since: 3.70.0


name

name: string

Description:

The name of this Frame.

The name is unique within the Texture.

Source: src/textures/Frame.js#L43
Since: 3.0.0


pivotX

pivotX: number

Description:

The horizontal pivot point of this Frame.

Source: src/textures/Frame.js#L183
Since: 3.0.0


pivotY

pivotY: number

Description:

The vertical pivot point of this Frame.

Source: src/textures/Frame.js#L193
Since: 3.0.0


radius

radius: number

Description:

The radius of the Frame (derived from sqrt(w * w + h * h) / 2)

Source: src/textures/Frame.js#L884
Since: 3.0.0


realHeight

realHeight: number

Description:

The height of the Frame in its un-trimmed, un-padded state, as prepared in the art package,

before being packed.

Source: src/textures/Frame.js#L866
Since: 3.0.0


realWidth

realWidth: number

Description:

The width of the Frame in its un-trimmed, un-padded state, as prepared in the art package,

before being packed.

Source: src/textures/Frame.js#L848
Since: 3.0.0


rotated

rotated: boolean

Description:

CURRENTLY UNSUPPORTED

Is this frame is rotated or not in the Texture?

Rotation allows you to use rotated frames in texture atlas packing.

It has nothing to do with Sprite rotation.

Source: src/textures/Frame.js#L213
Since: 3.0.0


scale9

scale9: boolean

Description:

Does the Frame have scale9 border data?

Source: src/textures/Frame.js#L918
Since: 3.70.0


source

source: Phaser.Textures.TextureSource

Description:

The TextureSource this Frame is part of.

Source: src/textures/Frame.js#L53
Since: 3.0.0


sourceIndex

sourceIndex: number

Description:

The index of the TextureSource in the Texture sources array.

Source: src/textures/Frame.js#L62
Since: 3.0.0


texture

texture: Phaser.Textures.Texture

Description:

The Texture this Frame is a part of.

Source: src/textures/Frame.js#L34
Since: 3.0.0


trimmed

trimmed: boolean

Description:

Is the Frame trimmed or not?

Source: src/textures/Frame.js#L901
Since: 3.0.0


u0

u0: number

Description:

WebGL UV u0 value.

Source: src/textures/Frame.js#L249
Since: 3.11.0


u1

u1: number

Description:

WebGL UV u1 value.

Source: src/textures/Frame.js#L269
Since: 3.11.0


v0

v0: number

Description:

WebGL UV v0 value.

Source: src/textures/Frame.js#L259
Since: 3.11.0


v1

v1: number

Description:

WebGL UV v1 value.

Source: src/textures/Frame.js#L279
Since: 3.11.0


width

width: number

Description:

The rendering width of this Frame, taking trim into account.

Source: src/textures/Frame.js#L127
Since: 3.0.0


x

x: number

Description:

The X rendering offset of this Frame, taking trim into account.

Source: src/textures/Frame.js#L107
Since: 3.0.0


y

y: number

Description:

The Y rendering offset of this Frame, taking trim into account.

Source: src/textures/Frame.js#L117
Since: 3.0.0


Public Methods

clone

<instance> clone()

Description:

Clones this Frame into a new Frame object.

Returns: Phaser.Textures.Frame - A clone of this Frame.

Source: src/textures/Frame.js#L780
Since: 3.0.0


destroy

<instance> destroy()

Description:

Destroys this Frame by nulling its reference to the parent Texture and and data objects.

Source: src/textures/Frame.js#L818
Since: 3.0.0


setCropUVs

<instance> setCropUVs(crop, x, y, width, height, flipX, flipY)

Description:

Takes a crop data object and, based on the rectangular region given, calculates the

required UV coordinates in order to crop this Frame for WebGL and Canvas rendering.

The crop size as well as coordinates can not exceed the the size of the frame.

This is called directly by the Game Object Texture Components setCrop method.

Please use that method to crop a Game Object.

Parameters:

nametypeoptionaldescription
cropobjectNoThe crop data object. This is the GameObject._crop property.
xnumberNoThe x coordinate to start the crop from. Cannot be negative or exceed the Frame width.
ynumberNoThe y coordinate to start the crop from. Cannot be negative or exceed the Frame height.
widthnumberNoThe width of the crop rectangle. Cannot exceed the Frame width.
heightnumberNoThe height of the crop rectangle. Cannot exceed the Frame height.
flipXbooleanNoDoes the parent Game Object have flipX set?
flipYbooleanNoDoes the parent Game Object have flipY set?

Returns: object - The updated crop data object.

Source: src/textures/Frame.js#L523
Since: 3.11.0


setCutPosition

<instance> setCutPosition([x], [y])

Description:

Sets the x and y position within the source image to cut from.

Parameters:

nametypeoptionaldefaultdescription
xnumberYes0X position within the source image to cut from.
ynumberYes0Y position within the source image to cut from.

Returns: Phaser.Textures.Frame - This Frame object.

Source: src/textures/Frame.js#L339
Since: 3.85.0


setCutSize

<instance> setCutSize(width, height)

Description:

Sets the width, and height of the area in the source image to cut.

Parameters:

nametypeoptionaldescription
widthnumberNoThe width of the area in the source image to cut.
heightnumberNoThe height of the area in the source image to cut.

Returns: Phaser.Textures.Frame - This Frame object.

Source: src/textures/Frame.js#L361
Since: 3.85.0


setScale9

<instance> setScale9(x, y, width, height)

Description:

Sets the scale9 center rectangle values.

Scale9 is a feature of Texture Packer, allowing you to define a nine-slice scaling grid.

This is set automatically by the JSONArray and JSONHash parsers.

Parameters:

nametypeoptionaldescription
xnumberNoThe left coordinate of the center scale9 rectangle.
ynumberNoThe top coordinate of the center scale9 rectangle.
widthnumberNoThe width of the center scale9 rectangle.
heightnumberNoThe height coordinate of the center scale9 rectangle.

Returns: Phaser.Textures.Frame - This Frame object.

Source: src/textures/Frame.js#L491
Since: 3.70.0


setSize

<instance> setSize(width, height, [x], [y])

Description:

Sets the width, height, x and y of this Frame.

This is called automatically by the constructor

and should rarely be changed on-the-fly.

Parameters:

nametypeoptionaldefaultdescription
widthnumberNoThe width of the frame before being trimmed.
heightnumberNoThe height of the frame before being trimmed.
xnumberYes0The x coordinate of the top-left of this Frame.
ynumberYes0The y coordinate of the top-left of this Frame.

Returns: Phaser.Textures.Frame - This Frame object.

Source: src/textures/Frame.js#L380
Since: 3.7.0


setTrim

<instance> setTrim(actualWidth, actualHeight, destX, destY, destWidth, destHeight)

Description:

If the frame was trimmed when added to the Texture Atlas, this records the trim and source data.

Parameters:

nametypeoptionaldescription
actualWidthnumberNoThe width of the frame before being trimmed.
actualHeightnumberNoThe height of the frame before being trimmed.
destXnumberNoThe destination X position of the trimmed frame for display.
destYnumberNoThe destination Y position of the trimmed frame for display.
destWidthnumberNoThe destination width of the trimmed frame for display.
destHeightnumberNoThe destination height of the trimmed frame for display.

Returns: Phaser.Textures.Frame - This Frame object.

Source: src/textures/Frame.js#L441
Since: 3.0.0


setUVs

<instance> setUVs(width, height, u0, v0, u1, v1)

Description:

Directly sets the canvas and WebGL UV data for this frame.

Use this if you need to override the values that are generated automatically

when the Frame is created.

Parameters:

nametypeoptionaldescription
widthnumberNoWidth of this frame for the Canvas data.
heightnumberNoHeight of this frame for the Canvas data.
u0numberNoUV u0 value.
v0numberNoUV v0 value.
u1numberNoUV u1 value.
v1numberNoUV v1 value.

Returns: Phaser.Textures.Frame - This Frame object.

Source: src/textures/Frame.js#L684
Since: 3.50.0


updateCropUVs

<instance> updateCropUVs(crop, flipX, flipY)

Description:

Takes a crop data object and recalculates the UVs based on the dimensions inside the crop object.

Called automatically by setFrame.

Parameters:

nametypeoptionaldescription
cropobjectNoThe crop data object. This is the GameObject._crop property.
flipXbooleanNoDoes the parent Game Object have flipX set?
flipYbooleanNoDoes the parent Game Object have flipY set?

Returns: object - The updated crop data object.

Source: src/textures/Frame.js#L666
Since: 3.11.0


updateUVs

<instance> updateUVs()

Description:

Updates the internal WebGL UV cache and the drawImage cache.

Returns: Phaser.Textures.Frame - This Frame object.

Source: src/textures/Frame.js#L722
Since: 3.0.0


updateUVsInverted

<instance> updateUVsInverted()

Description:

Updates the internal WebGL UV cache.

Returns: Phaser.Textures.Frame - This Frame object.

Source: src/textures/Frame.js#L758
Since: 3.0.0