Navigation
These archived docs are for Phaser 2.4.6 Phaser 3 docs can be found on newdocs.phaser.io.
Phaser CE docs can be found on the Phaser CE Documentation site.

Constructor

Phaser.Physics.Ninja. AABB

new AABB(body, x, y, width, height)

Ninja Physics AABB constructor. Note: This class could be massively optimised and reduced in size. I leave that challenge up to you.

Parameters
Name Type 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.

Source code: physics/ninja/AABB.js (Line 20)

Public Properties

aabbTileProjections : Object

All of the collision response handlers.

Source code: physics/ninja/AABB.js (Line 86)

body

Properties:
Name Type Description
system Phaser.Physics.Ninja.Body

A reference to the body that owns this shape.

Source code: physics/ninja/AABB.js (Line 25)

[readonly] height : number

The height.

Source code: physics/ninja/AABB.js (Line 64)

oldpos : Phaser.Point

The position of this object in the previous update.

Source code: physics/ninja/AABB.js (Line 40)

pos : Phaser.Point

The position of this object.

Source code: physics/ninja/AABB.js (Line 35)

system : Phaser.Physics.Ninja

A reference to the physics system.

Source code: physics/ninja/AABB.js (Line 30)

velocity : Phaser.Point

The velocity of this object.

Source code: physics/ninja/AABB.js (Line 81)

[readonly] width : number

The width.

Source code: physics/ninja/AABB.js (Line 58)

[readonly] xw : number

Half the width.

Source code: physics/ninja/AABB.js (Line 46)

[readonly] yw

Properties:
Name Type Description
xw number

Half the height.

Source code: physics/ninja/AABB.js (Line 52)

Public Methods

collideAABBVsAABB(aabb)

Collides this AABB against a AABB.

Parameters
Name Type Description
aabb Phaser.Physics.Ninja.AABB

The AABB to collide against.

Source code: physics/ninja/AABB.js (Line 336)

collideAABBVsTile(tile)

Collides this AABB against a Tile.

Parameters
Name Type Description
tile Phaser.Physics.Ninja.Tile

The Tile to collide against.

Source code: physics/ninja/AABB.js (Line 408)

collideWorldBounds()

Collides this AABB against the world bounds.

Source code: physics/ninja/AABB.js (Line 295)

destroy()

Destroys this AABB's reference to Body and System

Source code: physics/ninja/AABB.js (Line 993)

integrate()

Updates this AABBs position.

Source code: physics/ninja/AABB.js (Line 108)

projAABB_22DegB(x, y, obj, t) → {number}

Resolves 22 Degree tile collision.

Parameters
Name Type Description
x number

Penetration depth on the x axis.

y number

Penetration depth on the y axis.

obj Phaser.Physics.Ninja.AABB

The AABB involved in the collision.

t Phaser.Physics.Ninja.Tile

The Tile involved in the collision.

Returns
number -

The result of the collision.

Source code: physics/ninja/AABB.js (Line 702)

projAABB_22DegS(x, y, obj, t) → {number}

Resolves 22 Degree tile collision.

Parameters
Name Type Description
x number

Penetration depth on the x axis.

y number

Penetration depth on the y axis.

obj Phaser.Physics.Ninja.AABB

The AABB involved in the collision.

t Phaser.Physics.Ninja.Tile

The Tile involved in the collision.

Returns
number -

The result of the collision.

Source code: physics/ninja/AABB.js (Line 622)

projAABB_45Deg(x, y, obj, t) → {number}

Resolves 45 Degree tile collision.

Parameters
Name Type Description
x number

Penetration depth on the x axis.

y number

Penetration depth on the y axis.

obj Phaser.Physics.Ninja.AABB

The AABB involved in the collision.

t Phaser.Physics.Ninja.Tile

The Tile involved in the collision.

Returns
number -

The result of the collision.

Source code: physics/ninja/AABB.js (Line 569)

projAABB_67DegB(x, y, obj, t) → {number}

Resolves 67 Degree tile collision.

Parameters
Name Type Description
x number

Penetration depth on the x axis.

y number

Penetration depth on the y axis.

obj Phaser.Physics.Ninja.AABB

The AABB involved in the collision.

t Phaser.Physics.Ninja.Tile

The Tile involved in the collision.

Returns
number -

The result of the collision.

Source code: physics/ninja/AABB.js (Line 834)

projAABB_67DegS(x, y, obj, t) → {number}

Resolves 67 Degree tile collision.

Parameters
Name Type Description
x number

Penetration depth on the x axis.

y number

Penetration depth on the y axis.

obj Phaser.Physics.Ninja.AABB

The AABB involved in the collision.

t Phaser.Physics.Ninja.Tile

The Tile involved in the collision.

Returns
number -

The result of the collision.

Source code: physics/ninja/AABB.js (Line 755)

projAABB_Concave(x, y, obj, t) → {number}

Resolves Concave tile collision.

Parameters
Name Type Description
x number

Penetration depth on the x axis.

y number

Penetration depth on the y axis.

obj Phaser.Physics.Ninja.AABB

The AABB involved in the collision.

t Phaser.Physics.Ninja.Tile

The Tile involved in the collision.

Returns
number -

The result of the collision.

Source code: physics/ninja/AABB.js (Line 935)

projAABB_Convex(x, y, obj, t) → {number}

Resolves Convex tile collision.

Parameters
Name Type Description
x number

Penetration depth on the x axis.

y number

Penetration depth on the y axis.

obj Phaser.Physics.Ninja.AABB

The AABB involved in the collision.

t Phaser.Physics.Ninja.Tile

The Tile involved in the collision.

Returns
number -

The result of the collision.

Source code: physics/ninja/AABB.js (Line 885)

projAABB_Full(x, y, obj, t) → {number}

Resolves Full tile collision.

Parameters
Name Type Description
x number

Penetration depth on the x axis.

y number

Penetration depth on the y axis.

obj Phaser.Physics.Ninja.AABB

The AABB involved in the collision.

t Phaser.Physics.Ninja.Tile

The Tile involved in the collision.

Returns
number -

The result of the collision.

Source code: physics/ninja/AABB.js (Line 491)

projAABB_Half(x, y, obj, t) → {number}

Resolves Half tile collision.

Parameters
Name Type Description
x number

Penetration depth on the x axis.

y number

Penetration depth on the y axis.

obj Phaser.Physics.Ninja.AABB

The AABB involved in the collision.

t Phaser.Physics.Ninja.Tile

The Tile involved in the collision.

Returns
number -

The result of the collision.

Source code: physics/ninja/AABB.js (Line 510)

render(context, xOffset, yOffset, color, filled)

Render this AABB for debugging purposes.

Parameters
Name Type Description
context object

The context to render to.

xOffset number

X offset from AABB's position to render at.

yOffset number

Y offset from AABB's position to render at.

color string

color of the debug shape to be rendered. (format is css color string).

filled boolean

Render the shape as solid (true) or hollow (false).

Source code: physics/ninja/AABB.js (Line 1003)

reportCollision(px, py, dx, dy)

Process a collision partner-agnostic collision response 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

Source code: physics/ninja/AABB.js (Line 128)

reportCollisionVsBody(px, py, dx, dy, obj)

Process a body collision and apply the resulting forces. Still very much WIP and doesn't work fully. Feel free to fix!

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 AABB collided with

Source code: physics/ninja/AABB.js (Line 248)

reportCollisionVsWorld(px, py, dx, dy)

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

Source code: physics/ninja/AABB.js (Line 202)

resolveTile(x, y, body, tile) → {boolean}

Resolves tile collision.

Parameters
Name Type Description
x number

Penetration depth on the x axis.

y number

Penetration depth on the y axis.

body Phaser.Physics.Ninja.AABB

The AABB involved in the collision.

tile Phaser.Physics.Ninja.Tile

The Tile involved in the collision.

Returns
boolean -

True if the collision was processed, otherwise false.

Source code: physics/ninja/AABB.js (Line 467)

reverse()

Source code: physics/ninja/AABB.js (Line 216)