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. |
Members
-
body
-
- Source:
- src/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)
Type:
- number
-
<readonly> height : number
-
The height.
Type:
- number
-
<readonly> id : number
-
The ID of this Tile.
Type:
- number
-
oldpos : Phaser.Point
-
The position of this object in the previous update.
Type:
-
pos : Phaser.Point
-
The position of this object.
Type:
-
<readonly> right : number
-
The right value of this Body (same as Body.x + Body.width)
Type:
- number
-
system : Phaser.Physics.Ninja
-
A reference to the physics system.
Type:
-
<readonly> type : number
-
The type of this Tile.
Type:
- number
-
velocity : Phaser.Point
-
The velocity of this object.
Type:
-
<readonly> width : number
-
The width.
Type:
- number
-
x : number
-
The x position.
Type:
- number
-
<readonly> xw : number
-
Half the width.
Type:
- number
-
y : number
-
The y position.
Type:
- number
-
<readonly> yw
-
- Source:
- src/physics/ninja/Tile.js line 77
Properties:
Name Type Description xw
number Half the height.
Methods
-
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.