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 code: physics/ninja/Tile.js, line 25
Public Properties
-
body
-
- Source code: 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 code: physics/ninja/Tile.js, line 701
-
[readonly] height : number
-
The height.
- Source code: physics/ninja/Tile.js, line 89
-
[readonly] id : number
-
The ID of this Tile.
- Source code: physics/ninja/Tile.js, line 43
-
oldpos : Phaser.Point
-
The position of this object in the previous update.
- Source code: physics/ninja/Tile.js, line 59
-
pos : Phaser.Point
-
The position of this object.
- Source code: physics/ninja/Tile.js, line 54
-
[readonly] right : number
-
The right value of this Body (same as Body.x + Body.width)
- Source code: physics/ninja/Tile.js, line 714
-
system : Phaser.Physics.Ninja
-
A reference to the physics system.
- Source code: physics/ninja/Tile.js, line 37
-
[readonly] type : number
-
The type of this Tile.
- Source code: physics/ninja/Tile.js, line 49
-
velocity : Phaser.Point
-
The velocity of this object.
- Source code: physics/ninja/Tile.js, line 94
-
[readonly] width : number
-
The width.
- Source code: physics/ninja/Tile.js, line 83
-
x : number
-
The x position.
- Source code: physics/ninja/Tile.js, line 669
-
[readonly] xw : number
-
Half the width.
- Source code: physics/ninja/Tile.js, line 71
-
y : number
-
The y position.
- Source code: physics/ninja/Tile.js, line 685
-
[readonly] yw
-
- Source code: physics/ninja/Tile.js, line 77
Properties:
Name Type Description xw
number Half the height.
Public Methods
-
clear()
-
Sets this tile to be empty.
- Source code: 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 code: physics/ninja/Tile.js, line 153
-
destroy()
-
Destroys this Tiles reference to Body and System.
- Source code: physics/ninja/Tile.js, line 302
-
integrate()
-
Updates this objects position.
- Source code: 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 code: 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 code: physics/ninja/Tile.js, line 268