Skip to main content
Version: Phaser v4.0.0

Line

A LineCurve is a straight line segment defined by exactly two endpoints. Despite being called a "curve", it implements the full Phaser.Curves.Curve interface, meaning it can be used anywhere a curve is expected — for example, as part of a Phaser.Curves.Path or as a motion path for a Tween. Because the line is perfectly straight, arc length calculations are exact and efficient, making LineCurve the most performant curve type. You can construct one from two Vector2 points or from a flat array of four numbers [x0, y0, x1, y1].

Constructor

new Line(p0, [p1])

Parameters

nametypeoptionaldescription
p0Phaser.Math.Vector2 | Array.<number>NoThe first endpoint.
p1Phaser.Math.Vector2YesThe second endpoint.

Scope: static

Extends

Phaser.Curves.Curve

Source: src/curves/LineCurve.js#L15
Since: 3.0.0

Inherited Members

From Phaser.Curves.Curve:


Public Members

arcLengthDivisions

arcLengthDivisions: number

Description:

The quantity of arc length divisions within the curve.

Overrides: Phaser.Curves.Curve#arcLengthDivisions

Source: src/curves/LineCurve.js#L70
Since: 3.0.0


p0

p0: Phaser.Math.Vector2

Description:

The first endpoint.

Source: src/curves/LineCurve.js#L50
Since: 3.0.0


p1

p1: Phaser.Math.Vector2

Description:

The second endpoint.

Source: src/curves/LineCurve.js#L59
Since: 3.0.0


Inherited Methods

From Phaser.Curves.Curve:


Public Methods

draw

<instance> draw(graphics)

Description:

Draws this curve on the given Graphics object.

The curve is drawn using Graphics.lineBetween so will be drawn at whatever the present Graphics line color is. The Graphics object is not cleared before the draw, so the curve will appear on-top of anything else already rendered to it.

Tags:

  • generic

Parameters:

nametypeoptionaldescription
graphicsPhaser.GameObjects.GraphicsNoThe Graphics instance onto which this curve will be drawn.

Overrides: Phaser.Curves.Curve#draw

Returns: Phaser.GameObjects.Graphics - The Graphics object to which the curve was drawn.

Source: src/curves/LineCurve.js#L244
Since: 3.0.0


fromJSON

<static> fromJSON(data)

Description:

Configures this line from a JSON representation.

Parameters:

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

Returns: Phaser.Curves.Line - A new LineCurve object.

Source: src/curves/LineCurve.js#L288
Since: 3.0.0


getBounds

<instance> getBounds([out])

Description:

Returns a Rectangle where the position and dimensions match the bounds of this Curve.

Tags:

  • generic

Parameters:

nametypeoptionaldescription
outPhaser.Geom.RectangleYesA Rectangle object to store the bounds in. If not given a new Rectangle will be created.

Overrides: Phaser.Curves.Curve#getBounds

Returns: Phaser.Geom.Rectangle - A Rectangle object holding the bounds of this curve. If out was given it will be this object.

Source: src/curves/LineCurve.js#L81
Since: 3.0.0


getPoint

<instance> getPoint(t, [out])

Description:

Gets a point at a relative position along the line, where 0 is the start point and 1 is the end point.

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/LineCurve.js#L136
Since: 3.0.0


getPointAt

<instance> getPointAt(u, [out])

Description:

Gets a point at a given position on the line.

Tags:

  • generic

Parameters:

nametypeoptionaldescription
unumberNoThe 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.

Overrides: Phaser.Curves.Curve#getPointAt

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/LineCurve.js#L165
Since: 3.0.0


getResolution

<instance> getResolution([divisions])

Description:

Returns the resolution of this curve. For a LineCurve the resolution is equal to the number of divisions requested, defaulting to 1 if none are provided.

Parameters:

nametypeoptionaldefaultdescription
divisionsnumberYes1The number of divisions to consider.

Returns: number - The resolution. Equal to the number of divisions.

Source: src/curves/LineCurve.js#L119
Since: 3.0.0


getStartPoint

<instance> getStartPoint([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/LineCurve.js#L100
Since: 3.0.0


getTangent

<instance> getTangent([t], [out])

Description:

Gets the slope of the line as a unit vector.

Tags:

  • generic

Parameters:

nametypeoptionaldescription
tnumberYesThe relative position on the line, [0..1].
outPhaser.Math.Vector2YesA vector to store the result in.

Overrides: Phaser.Curves.Curve#getTangent

Returns: Phaser.Math.Vector2 - The tangent vector.

Source: src/curves/LineCurve.js#L183
Since: 3.0.0


getUtoTmapping

<instance> getUtoTmapping(u, distance, [divisions])

Description:

Converts a distance-based position along the line into a normalized t value in the range 0 to 1. If a distance is provided, the returned t represents that distance clamped to the line's total length. If no distance is given, u is returned directly. This override exists because a straight line has uniform arc length, so no iterative re-parameterization is needed.

Parameters:

nametypeoptionaldescription
unumberNoA float between 0 and 1.
distancenumberNoThe distance, in pixels.
divisionsnumberYesOptional amount of divisions.

Overrides: Phaser.Curves.Curve#getUtoTmapping

Returns: number - The equidistant value.

Source: src/curves/LineCurve.js#L205
Since: 3.0.0


toJSON

<instance> toJSON()

Description:

Gets a JSON representation of the line.

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

Source: src/curves/LineCurve.js#L267
Since: 3.0.0