Phaser API Documentation

  Version: 
Filter

A Face Geometry Object.

A Face is used by the Mesh Game Object. A Mesh consists of one, or more, faces that are used to render the Mesh Game Objects in WebGL.

A Face consists of 3 Vertex instances, for the 3 corners of the face and methods to help you modify and test them.

Constructor:

new Face(vertex1, vertex2, vertex3)

Parameters:

name type description
vertex1 Phaser.Geom.Mesh.Vertex

The first vertex of the Face.

vertex2 Phaser.Geom.Mesh.Vertex

The second vertex of the Face.

vertex3 Phaser.Geom.Mesh.Vertex

The third vertex of the Face.

Since: 3.50.0
Source: src/geom/mesh/Face.js (Line 33)

Members

<private> _inCenter: Phaser.Math.Vector2
Focus
Focus

Description:

The face inCenter. Do not access directly, instead use the getInCenter method.

Type:
Since: 3.50.0
Source: src/geom/mesh/Face.js (Line 96)
Focus
Focus
alpha: number
Focus
Focus

Description:

Set the alpha value of this Face.

Each vertex is given the same value. If you need to adjust the alpha on a per-vertex basis then use the Vertex.alpha property instead.

When getting the alpha of this Face, it will return an average of the alpha component of all three vertices.

Type:
number
Since: 3.50.0
Source: src/geom/mesh/Face.js (Line 585)
Focus
Focus

Description:

The bounds of this Face.

Be sure to call the Face.updateBounds method before using this property.

Type:
Since: 3.50.0
Source: src/geom/mesh/Face.js (Line 85)
Focus
Focus
<readonly> depth: number
Focus
Focus

Description:

The depth of this Face, which is an average of the z component of all three vertices.

The depth is calculated based on the transformed z value, not the local one.

Type:
number
Since: 3.50.0
Source: src/geom/mesh/Face.js (Line 618)
Focus
Focus

Description:

The first vertex in this Face.

Type:
Since: 3.50.0
Source: src/geom/mesh/Face.js (Line 58)
Focus
Focus

Description:

The second vertex in this Face.

Type:
Since: 3.50.0
Source: src/geom/mesh/Face.js (Line 67)
Focus
Focus

Description:

The third vertex in this Face.

Type:
Since: 3.50.0
Source: src/geom/mesh/Face.js (Line 76)
Focus
Focus
x: number
Focus
Focus

Description:

The x coordinate of this Face, based on the in center position of the Face.

Type:
number
Since: 3.50.0
Source: src/geom/mesh/Face.js (Line 539)
Focus
Focus
y: number
Focus
Focus

Description:

The y coordinate of this Face, based on the in center position of the Face.

Type:
number
Since: 3.50.0
Source: src/geom/mesh/Face.js (Line 562)
Focus
Focus

Methods

contains(x, y, [calcMatrix])
Focus
Focus

Description:

Checks if the given coordinates are within this Face.

You can optionally provide a transform matrix. If given, the Face vertices will be transformed first, before being checked against the coordinates.

Parameters:

name type arguments description
x number

The horizontal position to check.

y number

The vertical position to check.

calcMatrix Phaser.GameObjects.Components.TransformMatrix <optional>

Optional transform matrix to apply to the vertices before comparison.

Returns:
Description:

true if the coordinates lay within this Face, otherwise false.

Type:
  • boolean
Since: 3.50.0
Source: src/geom/mesh/Face.js (Line 169)
Focus
Focus
destroy()
Focus
Focus

Description:

Destroys this Face and nulls the references to the vertices.

Since: 3.50.0
Source: src/geom/mesh/Face.js (Line 641)
Focus
Focus
getInCenter([local])
Focus
Focus

Description:

Calculates and returns the in-center position of this Face.

Parameters:

name type arguments Default description
local boolean <optional> true

Return the in center from the un-transformed vertex positions (true), or transformed? (false)

Returns:
Description:

A Vector2 containing the in center position of this Face.

Since: 3.50.0
Source: src/geom/mesh/Face.js (Line 107)
Focus
Focus
isCounterClockwise(z)
Focus
Focus

Description:

Checks if the vertices in this Face are orientated counter-clockwise, or not.

It checks the transformed position of the vertices, not the local one.

Parameters:

name type description
z number

The z-axis value to test against. Typically the Mesh.modelPosition.z.

Returns:
Description:

true if the vertices in this Face run counter-clockwise, otherwise false.

Type:
  • boolean
Since: 3.50.0
Source: src/geom/mesh/Face.js (Line 242)
Focus
Focus
isInView(camera, hideCCW, z, alpha, a, b, c, d, e, f, roundPixels)
Focus
Focus

Description:

Checks if this Face is within the view of the given Camera.

This method is called in the MeshWebGLRenderer function. It performs the following tasks:

First, the Vertex.update method is called on each of the vertices. This populates them with the new translated values, updating their tx, ty and ta properties.

Then it tests to see if this face is visible due to the alpha values, if not, it returns.

After this, if hideCCW is set, it calls isCounterClockwise and returns if not.

Finally, it will update the Face.bounds based on the newly translated vertex values and return the results of an intersection test between the bounds and the camera world view rectangle.

Parameters:

name type description
camera Phaser.Cameras.Scene2D.Camera

The Camera to check against.

hideCCW boolean

Test the counter-clockwise orientation of the verts?

z number

The Cameras z position, used in the CCW test.

alpha number

The alpha of the parent object.

a number

The parent transform matrix data a component.

b number

The parent transform matrix data b component.

c number

The parent transform matrix data c component.

d number

The parent transform matrix data d component.

e number

The parent transform matrix data e component.

f number

The parent transform matrix data f component.

roundPixels boolean

Round the vertex position or not?

Returns:
Description:

true if this Face can be seen by the Camera.

Type:
  • boolean
Since: 3.50.0
Source: src/geom/mesh/Face.js (Line 336)
Focus
Focus
load(F32, U32, offset, textureUnit, tintEffect)
Focus
Focus

Description:

Loads the data from this Vertex into the given Typed Arrays.

Parameters:

name type description
F32 Float32Array

A Float32 Array to insert the position, UV and unit data in to.

U32 Uint32Array

A Uint32 Array to insert the color and alpha data in to.

offset number

The index of the array to insert this Vertex to.

textureUnit number

The texture unit currently in use.

tintEffect number

The tint effect to use.

Returns:
Description:

The new vertex index array offset.

Type:
  • number
Since: 3.50.0
Source: src/geom/mesh/Face.js (Line 265)
Focus
Focus
scaleUV(x, y)
Focus
Focus

Description:

Scales the original UV values of each vertex by the given amounts.

The original properties Vertex.u and Vertex.v remain unchanged, only the translated properties Vertex.tu and Vertex.tv, as used in rendering, are updated.

Parameters:

name type description
x number

The amount to scale the UV u coordinate by.

y number

The amount to scale the UV v coordinate by.

Returns:
Description:

This Face instance.

Since: 3.60.0
Source: src/geom/mesh/Face.js (Line 433)
Focus
Focus
scrollUV(x, y)
Focus
Focus

Description:

Translates the original UV positions of each vertex by the given amounts.

The original properties Vertex.u and Vertex.v remain unchanged, only the translated properties Vertex.tu and Vertex.tv, as used in rendering, are updated.

Parameters:

name type description
x number

The amount to scroll the UV u coordinate by.

y number

The amount to scroll the UV v coordinate by.

Returns:
Description:

This Face instance.

Since: 3.60.0
Source: src/geom/mesh/Face.js (Line 408)
Focus
Focus
setColor(color)
Focus
Focus

Description:

Sets the color value for each Vertex in this Face.

Parameters:

name type description
color number

The color value for each vertex.

Returns:
Description:

This Face instance.

Since: 3.60.0
Source: src/geom/mesh/Face.js (Line 458)
Focus
Focus
transformCoordinatesLocal(transformMatrix, width, height, cameraZ)
Focus
Focus

Description:

Transforms all Face vertices by the given matrix, storing the results in their vx, vy and vz properties.

Parameters:

name type description
transformMatrix Phaser.Math.Matrix4

The transform matrix to apply to this vertex.

width number

The width of the parent Mesh.

height number

The height of the parent Mesh.

cameraZ number

The z position of the MeshCamera.

Returns:
Description:

This Face instance.

Since: 3.50.0
Source: src/geom/mesh/Face.js (Line 288)
Focus
Focus
translate(x, [y])
Focus
Focus

Description:

Translates the vertices of this Face by the given amounts.

The actual vertex positions are adjusted, not their transformed position.

Therefore, this updates the vertex data directly.

Parameters:

name type arguments description
x number

The amount to horizontally translate by.

y number <optional>

The amount to vertically translate by.

Returns:
Description:

This Face instance.

Since: 3.50.0
Source: src/geom/mesh/Face.js (Line 504)
Focus
Focus
update(alpha, a, b, c, d, e, f, roundPixels)
Focus
Focus

Description:

Calls the Vertex.update method on each of the vertices. This populates them with the new translated values, updating their tx, ty and ta properties.

Parameters:

name type description
alpha number

The alpha of the parent object.

a number

The parent transform matrix data a component.

b number

The parent transform matrix data b component.

c number

The parent transform matrix data c component.

d number

The parent transform matrix data d component.

e number

The parent transform matrix data e component.

f number

The parent transform matrix data f component.

roundPixels boolean

Round the vertex position or not?

Returns:
Description:

This Face instance.

Since: 3.60.0
Source: src/geom/mesh/Face.js (Line 477)
Focus
Focus
updateBounds()
Focus
Focus

Description:

Updates the bounds of this Face, based on the translated values of the vertices.

Call this method prior to accessing the Face.bounds property.

Returns:
Description:

This Face instance.

Since: 3.50.0
Source: src/geom/mesh/Face.js (Line 310)
Focus
Focus