Class: Phaser.Physics.Ninja.Tile
Constructor
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
- Source code: physics/ninja/Tile.js (Line 32)
- Source code: physics/ninja/Tile.js (Line 701)
- Source code: physics/ninja/Tile.js (Line 89)
- Source code: physics/ninja/Tile.js (Line 43)
- Source code: physics/ninja/Tile.js (Line 59)
- Source code: physics/ninja/Tile.js (Line 54)
- Source code: physics/ninja/Tile.js (Line 714)
- Source code: physics/ninja/Tile.js (Line 37)
- Source code: physics/ninja/Tile.js (Line 49)
- Source code: physics/ninja/Tile.js (Line 94)
- Source code: physics/ninja/Tile.js (Line 83)
- Source code: physics/ninja/Tile.js (Line 669)
- Source code: physics/ninja/Tile.js (Line 71)
- Source code: physics/ninja/Tile.js (Line 685)
- Source code: physics/ninja/Tile.js (Line 77)
body
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)
[readonly] height : number
The height.
[readonly] id : number
The ID of this Tile.
oldpos : Phaser.Point
The position of this object in the previous update.
pos : Phaser.Point
The position of this object.
[readonly] right : number
The right value of this Body (same as Body.x + Body.width)
system : Phaser.Physics.Ninja
A reference to the physics system.
[readonly] type : number
The type of this Tile.
velocity : Phaser.Point
The velocity of this object.
[readonly] width : number
The width.
x : number
The x position.
[readonly] xw : number
Half the width.
y : number
The y position.
[readonly] yw
Properties:
Name | Type | Description |
---|---|---|
xw | number | Half the height. |
Public Methods
- Source code: physics/ninja/Tile.js (Line 290)
- Source code: physics/ninja/Tile.js (Line 153)
- Source code: physics/ninja/Tile.js (Line 302)
- Source code: physics/ninja/Tile.js (Line 135)
- Source code: physics/ninja/Tile.js (Line 194)
- Source code: physics/ninja/Tile.js (Line 268)
clear()
Sets this tile to be empty.
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.
destroy()
Destroys this Tiles reference to Body and System.
integrate()
Updates this objects position.
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 |
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. |
© 2016 Richard Davey, Photon Storm Ltd.
Licensed under the MIT License.
http://phaser.io/docs/2.6.2/Phaser.Physics.Ninja.Tile.html