new Line(x1, y1, x2, y2)
Creates a new Line object with a start and an end point.
Parameters:
Name | Type | Argument | Default | Description |
---|---|---|---|---|
x1 |
number |
<optional> |
0 | The x coordinate of the start of the line. |
y1 |
number |
<optional> |
0 | The y coordinate of the start of the line. |
x2 |
number |
<optional> |
0 | The x coordinate of the end of the line. |
y2 |
number |
<optional> |
0 | The y coordinate of the end of the line. |
- Source - geom/Line.js, line 17
Members
-
<readonly> angle :number
-
Gets the angle of the line.
- Source - geom/Line.js, line 220
-
<readonly> bottom :number
-
Gets the bottom-most point of this line.
- Source - geom/Line.js, line 324
-
end :Phaser.Point
-
The end point of the line.
- Source - geom/Line.js, line 32
-
<readonly> height :number
-
Gets the height of this bounds of this line.
- Source - geom/Line.js, line 350
-
<readonly> left :number
-
Gets the left-most point of this line.
- Source - geom/Line.js, line 285
-
<readonly> length :number
-
Gets the length of the line segment.
- Source - geom/Line.js, line 207
-
<readonly> perpSlope :number
-
Gets the perpendicular slope of the line (x/y).
- Source - geom/Line.js, line 246
-
<readonly> right :number
-
Gets the right-most point of this line.
- Source - geom/Line.js, line 298
-
<readonly> slope :number
-
Gets the slope of the line (y/x).
- Source - geom/Line.js, line 233
-
start :Phaser.Point
-
The start point of the line.
- Source - geom/Line.js, line 27
-
<readonly> top :number
-
Gets the top-most point of this line.
- Source - geom/Line.js, line 311
-
<readonly> width :number
-
Gets the width of this bounds of this line.
- Source - geom/Line.js, line 337
-
<readonly> x :number
-
Gets the x coordinate of the top left of the bounds around this line.
- Source - geom/Line.js, line 259
-
<readonly> y :number
-
Gets the y coordinate of the top left of the bounds around this line.
- Source - geom/Line.js, line 272
Methods
-
<static> intersects(a, b, asSegment, result) → {Phaser.Point}
-
Checks for intersection between two lines. If asSegment is true it will check for segment intersection. If asSegment is false it will check for line intersection. Returns the intersection segment of AB and EF as a Point, or null if there is no intersection. Adapted from code by Keith Hair
Parameters:
Name Type Argument Default Description a
Phaser.Line The first Line to be checked.
b
Phaser.Line The second Line to be checked.
asSegment
boolean <optional>
true If true it will check for segment intersection, otherwise full line intersection.
result
Phaser.Point <optional>
A Point object to store the result in, if not given a new one will be created.
Returns:
The intersection segment of the two lines as a Point, or null if there is no intersection.
- Source - geom/Line.js, line 415
-
<static> intersectsPoints(a, b, e, f, asSegment, result) → {Phaser.Point}
-
Checks for intersection between two lines as defined by the given start and end points. If asSegment is true it will check for line segment intersection. If asSegment is false it will check for line intersection. Returns the intersection segment of AB and EF as a Point, or null if there is no intersection. Adapted from code by Keith Hair
Parameters:
Name Type Argument Default Description a
Phaser.Point The start of the first Line to be checked.
b
Phaser.Point The end of the first line to be checked.
e
Phaser.Point The start of the second Line to be checked.
f
Phaser.Point The end of the second line to be checked.
asSegment
boolean <optional>
true If true it will check for segment intersection, otherwise full line intersection.
result
Phaser.Point <optional>
A Point object to store the result in, if not given a new one will be created.
Returns:
The intersection segment of the two lines as a Point, or null if there is no intersection.
- Source - geom/Line.js, line 363
-
clone(output) → {Phaser.Line}
-
Returns a new Line object with the same values for the start and end properties as this Line object.
Parameters:
Name Type Description output
Phaser.Line Optional Line object. If given the values will be set into the object, otherwise a brand new Line object will be created and returned.
Returns:
The cloned Line object.
- Source - geom/Line.js, line 184
-
coordinatesOnLine(stepRate, results) → {array}
-
Using Bresenham's line algorithm this will return an array of all coordinates on this line. The start and end points are rounded before this runs as the algorithm works on integers.
Parameters:
Name Type Argument Default Description stepRate
number <optional>
1 How many steps will we return? 1 = every coordinate on the line, 2 = every other coordinate, etc.
results
array <optional>
The array to store the results in. If not provided a new one will be generated.
Returns:
array -An array of coordinates.
- Source - geom/Line.js, line 126
-
fromSprite(startSprite, endSprite, useCenter) → {Phaser.Line}
-
Sets the line to match the x/y coordinates of the two given sprites. Can optionally be calculated from their center coordinates.
Parameters:
Name Type Argument Default Description startSprite
Phaser.Sprite The coordinates of this Sprite will be set to the Line.start point.
endSprite
Phaser.Sprite The coordinates of this Sprite will be set to the Line.start point.
useCenter
boolean <optional>
false If true it will use startSprite.center.x, if false startSprite.x. Note that Sprites don't have a center property by default, so only enable if you've over-ridden your Sprite with a custom class.
Returns:
This line object
- Source - geom/Line.js, line 56
-
intersects(line, asSegment, result) → {Phaser.Point}
-
Checks for intersection between this line and another Line. If asSegment is true it will check for segment intersection. If asSegment is false it will check for line intersection. Returns the intersection segment of AB and EF as a Point, or null if there is no intersection.
Parameters:
Name Type Argument Default Description line
Phaser.Line The line to check against this one.
asSegment
boolean <optional>
true If true it will check for segment intersection, otherwise full line intersection.
result
Phaser.Point <optional>
A Point object to store the result in, if not given a new one will be created.
Returns:
The intersection segment of the two lines as a Point, or null if there is no intersection.
- Source - geom/Line.js, line 78
-
pointOnLine(x, y) → {boolean}
-
Tests if the given coordinates fall on this line. See pointOnSegment to test against just the line segment.
Parameters:
Name Type Description x
number The line to check against this one.
y
number The line to check against this one.
Returns:
boolean -True if the point is on the line, false if not.
- Source - geom/Line.js, line 95
-
pointOnSegment(x, y) → {boolean}
-
Tests if the given coordinates fall on this line and within the segment. See pointOnLine to test against just the line.
Parameters:
Name Type Description x
number The line to check against this one.
y
number The line to check against this one.
Returns:
boolean -True if the point is on the line and segment, false if not.
- Source - geom/Line.js, line 108
-
setTo(x1, y1, x2, y2) → {Phaser.Line}
-
Sets the components of the Line to the specified values.
Parameters:
Name Type Argument Default Description x1
number <optional>
0 The x coordinate of the start of the line.
y1
number <optional>
0 The y coordinate of the start of the line.
x2
number <optional>
0 The x coordinate of the end of the line.
y2
number <optional>
0 The y coordinate of the end of the line.
Returns:
This line object
- Source - geom/Line.js, line 38