You’re reading the docs for Phaser v4.0.0. The latest is Phaser v4.1.0.

Ellipse

Phaser.Curves.Ellipse

An Ellipse Curve is a smooth curve that describes the path of an ellipse. It can be used to move Game Objects along an elliptical path, generate points distributed around an ellipse, or draw elliptical arcs as part of a Path or Graphics object.

You can control the center position, horizontal and vertical radii, start and end angles, rotation, and whether the curve runs clockwise or anti-clockwise. Passing only xRadius will create a circle (both radii are equal by default).

This curve extends the base Phaser.Curves.Curve class and can be used anywhere a Curve is accepted in Phaser, such as Phaser.Curves.Path or a PathFollower Game Object.

See https://en.wikipedia.org/wiki/Ellipse for more details.

Constructor

new Ellipse([x], [y], [xRadius], [yRadius], [startAngle], [endAngle], [clockwise], [rotation])

Parameters

nametypeoptionaldefaultdescription
xnumber | Phaser.Types.Curves.EllipseCurveConfigYes0The x coordinate of the ellipse, or an Ellipse Curve configuration object.
ynumberYes0The y coordinate of the ellipse.
xRadiusnumberYes0The horizontal radius of ellipse.
yRadiusnumberYes0The vertical radius of ellipse.
startAnglenumberYes0The start angle of the ellipse, in degrees.
endAnglenumberYes360The end angle of the ellipse, in degrees.
clockwisebooleanYesfalseWhether the ellipse angles are given as clockwise (true) or counter-clockwise (false).
rotationnumberYes0The rotation of the ellipse, in degrees.

Scope: static

Extends

Phaser.Curves.Curve

Source: src/curves/EllipseCurve.js#L16
Since: 3.0.0

Inherited Members

From Phaser.Curves.Curve:


Public Members

angle

angle: number

Description:

The rotation of the ellipse, relative to the center, in degrees.

Source: src/curves/EllipseCurve.js#L545
Since: 3.14.0


clockwise

clockwise: boolean

Description:

true if the ellipse rotation is clockwise or false if anti-clockwise.

Source: src/curves/EllipseCurve.js#L524
Since: 3.0.0


endAngle

endAngle: number

Description:

The end angle of the ellipse in degrees.

Source: src/curves/EllipseCurve.js#L503
Since: 3.0.0


p0

p0: Phaser.Math.Vector2

Description:

The center point of the ellipse. Used for calculating rotation.

Source: src/curves/EllipseCurve.js#L80
Since: 3.0.0


rotation

rotation: number

Description:

The rotation of the ellipse, relative to the center, in radians.

Source: src/curves/EllipseCurve.js#L566
Since: 3.0.0


startAngle

startAngle: number

Description:

The start angle of the ellipse in degrees.

Source: src/curves/EllipseCurve.js#L482
Since: 3.0.0


x

x: number

Description:

The x coordinate of the center of the ellipse.

Source: src/curves/EllipseCurve.js#L398
Since: 3.0.0


xRadius

xRadius: number

Description:

The horizontal radius of the ellipse.

Source: src/curves/EllipseCurve.js#L440
Since: 3.0.0


y

y: number

Description:

The y coordinate of the center of the ellipse.

Source: src/curves/EllipseCurve.js#L419
Since: 3.0.0


yRadius

yRadius: number

Description:

The vertical radius of the ellipse.

Source: src/curves/EllipseCurve.js#L461
Since: 3.0.0


Inherited Methods

From Phaser.Curves.Curve:


Public Methods

fromJSON

staticfromJSON(data)

Description:

Creates a curve from the provided Ellipse Curve Configuration object.

Parameters:

nametypeoptionaldescription
dataPhaser.Types.Curves.JSONEllipseCurveNoThe JSON object containing this curve data.

Returns: Phaser.Curves.Ellipse - The ellipse curve constructed from the configuration object.

Source: src/curves/EllipseCurve.js#L612
Since: 3.0.0


getPoint

instancegetPoint(t, [out])

Description:

Returns the point on this curve at the given normalized position t, where 0 is the start and 1 is the end. The result accounts for the start angle, end angle, clockwise direction, and rotation of the ellipse.

Tags:

  • generic

Parameters:

nametypeoptionaldescription
tnumberNoThe position along the curve to return. Where 0 is the start and 1 is the end.
outPhaser.Math.Vector2YesA Vector2 object to store the result in. If not given will be created.

Returns: Phaser.Math.Vector2 - The coordinates of the point on the curve. If an out object was given this will be returned.

Source: src/curves/EllipseCurve.js#L186
Since: 3.0.0


getResolution

instancegetResolution(divisions)

Description:

Returns the resolution of this curve, which is the number of points used to approximate it. For an Ellipse, this is double the requested divisions to provide accurate arc length calculations.

Parameters:

nametypeoptionaldescription
divisionsnumberNoOptional divisions value.

Returns: number - The curve resolution.

Source: src/curves/EllipseCurve.js#L171
Since: 3.0.0


getStartPoint

instancegetStartPoint([out])

Description:

Gets the starting point on the curve.

Tags:

  • generic

Parameters:

nametypeoptionaldescription
outPhaser.Math.Vector2YesA Vector2 object to store the result in. If not given will be created.

Overrides: Phaser.Curves.Curve#getStartPoint

Returns: Phaser.Math.Vector2 - The coordinates of the point on the curve. If an out object was given this will be returned.

Source: src/curves/EllipseCurve.js#L152
Since: 3.0.0


setClockwise

instancesetClockwise(value)

Description:

Sets if this curve extends clockwise or anti-clockwise.

Parameters:

nametypeoptionaldescription
valuebooleanNoThe clockwise state of this curve.

Returns: Phaser.Curves.Ellipse - This curve object.

Source: src/curves/EllipseCurve.js#L364
Since: 3.0.0


setEndAngle

instancesetEndAngle(value)

Description:

Sets the end angle of this curve.

Parameters:

nametypeoptionaldescription
valuenumberNoThe end angle of this curve, in degrees.

Returns: Phaser.Curves.Ellipse - This curve object.

Source: src/curves/EllipseCurve.js#L347
Since: 3.0.0


setHeight

instancesetHeight(value)

Description:

Sets the height of this curve. The vertical radius (yRadius) is set to half the given value.

Parameters:

nametypeoptionaldescription
valuenumberNoThe height of this curve.

Returns: Phaser.Curves.Ellipse - This curve object.

Source: src/curves/EllipseCurve.js#L313
Since: 3.0.0


setRotation

instancesetRotation(value)

Description:

Sets the rotation of this curve.

Parameters:

nametypeoptionaldescription
valuenumberNoThe rotation of this curve, in radians.

Returns: Phaser.Curves.Ellipse - This curve object.

Source: src/curves/EllipseCurve.js#L381
Since: 3.0.0


setStartAngle

instancesetStartAngle(value)

Description:

Sets the start angle of this curve.

Parameters:

nametypeoptionaldescription
valuenumberNoThe start angle of this curve, in degrees.

Returns: Phaser.Curves.Ellipse - This curve object.

Source: src/curves/EllipseCurve.js#L330
Since: 3.0.0


setWidth

instancesetWidth(value)

Description:

Sets the width of this curve. The horizontal radius (xRadius) is set to half the given value.

Parameters:

nametypeoptionaldescription
valuenumberNoThe width of this curve.

Returns: Phaser.Curves.Ellipse - This curve object.

Source: src/curves/EllipseCurve.js#L296
Since: 3.0.0


setXRadius

instancesetXRadius(value)

Description:

Sets the horizontal radius of this curve.

Parameters:

nametypeoptionaldescription
valuenumberNoThe horizontal radius of this curve.

Returns: Phaser.Curves.Ellipse - This curve object.

Source: src/curves/EllipseCurve.js#L262
Since: 3.0.0


setYRadius

instancesetYRadius(value)

Description:

Sets the vertical radius of this curve.

Parameters:

nametypeoptionaldescription
valuenumberNoThe vertical radius of this curve.

Returns: Phaser.Curves.Ellipse - This curve object.

Source: src/curves/EllipseCurve.js#L279
Since: 3.0.0


toJSON

instancetoJSON()

Description:

JSON serialization of the curve.

Returns: Phaser.Types.Curves.JSONEllipseCurve - The JSON object containing this curve data.

Source: src/curves/EllipseCurve.js#L587
Since: 3.0.0