new Tile(body, x, y, width, height, type)
Ninja Physics Tile constructor.
A Tile is defined by its width, height and type. It's type can include slope data, such as 45 degree slopes, or convex slopes.
Understand that for any type including a slope (types 2 to 29) the Tile must be SQUARE, i.e. have an equal width and height.
Also note that as Tiles are primarily used for levels they have gravity disabled and world bounds collision disabled by default.
Note: This class could be massively optimised and reduced in size. I leave that challenge up to you.
Parameters:
Name | Type | Argument | Default | Description |
---|---|---|---|---|
body |
Phaser.Physics.Ninja.Body | The body that owns this shape. |
||
x |
number | The x coordinate to create this shape at. |
||
y |
number | The y coordinate to create this shape at. |
||
width |
number | The width of this AABB. |
||
height |
number | The height of this AABB. |
||
type |
number |
<optional> |
1 | The type of Ninja shape to create. 1 = AABB, 2 = Circle or 3 = Tile. |
- Source - physics/ninja/Tile.js, line 25
Members
-
body
-
- Source - physics/ninja/Tile.js, line 32
Properties:
Name Type Description system
Phaser.Physics.Ninja.Body A reference to the body that owns this shape.
-
<readonly> bottom :number
-
The bottom value of this Body (same as Body.y + Body.height)
- Source - physics/ninja/Tile.js, line 701
-
<readonly> height :number
-
The height.
- Source - physics/ninja/Tile.js, line 89
-
<readonly> id :number
-
The ID of this Tile.
- Source - physics/ninja/Tile.js, line 43
-
oldpos :Phaser.Point
-
The position of this object in the previous update.
- Source - physics/ninja/Tile.js, line 59
-
pos :Phaser.Point
-
The position of this object.
- Source - physics/ninja/Tile.js, line 54
-
<readonly> right :number
-
The right value of this Body (same as Body.x + Body.width)
- Source - physics/ninja/Tile.js, line 714
-
system :Phaser.Physics.Ninja
-
A reference to the physics system.
- Source - physics/ninja/Tile.js, line 37
-
<readonly> type :number
-
The type of this Tile.
- Source - physics/ninja/Tile.js, line 49
-
velocity :Phaser.Point
-
The velocity of this object.
- Source - physics/ninja/Tile.js, line 94
-
<readonly> width :number
-
The width.
- Source - physics/ninja/Tile.js, line 83
-
x :number
-
The x position.
- Source - physics/ninja/Tile.js, line 669
-
<readonly> xw :number
-
Half the width.
- Source - physics/ninja/Tile.js, line 71
-
y :number
-
The y position.
- Source - physics/ninja/Tile.js, line 685
-
<readonly> yw
-
- Source - physics/ninja/Tile.js, line 77
Properties:
Name Type Description xw
number Half the height.
Methods
-
clear()
-
Sets this tile to be empty.
- Source - physics/ninja/Tile.js, line 290
-
collideWorldBounds()
-
Tiles cannot collide with the world bounds, it's up to you to keep them where you want them. But we need this API stub to satisfy the Body.
- Source - physics/ninja/Tile.js, line 153
-
destroy()
-
Destroys this Tiles reference to Body and System.
- Source - physics/ninja/Tile.js, line 302
-
integrate()
-
Updates this objects position.
- Source - physics/ninja/Tile.js, line 135
-
reportCollisionVsWorld(px, py, dx, dy, obj)
-
Process a world collision and apply the resulting forces.
Parameters:
Name Type Description px
number The tangent velocity
py
number The tangent velocity
dx
number Collision normal
dy
number Collision normal
obj
number Object this Tile collided with
- Source - physics/ninja/Tile.js, line 194
-
setType(id)
-
Tiles cannot collide with the world bounds, it's up to you to keep them where you want them. But we need this API stub to satisfy the Body.
Parameters:
Name Type Description id
number The type of Tile this will use, i.e. Phaser.Physics.Ninja.Tile.SLOPE_45DEGpn, Phaser.Physics.Ninja.Tile.CONVEXpp, etc.
- Source - physics/ninja/Tile.js, line 268