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 - physics/ninja/AABB.js, line 20

Members

aabbTileProjections:object

All of the collision response handlers.

Source - 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 - physics/ninja/AABB.js, line 25

<readonly> height:number

The height.

Source - physics/ninja/AABB.js, line 64

oldpos:Phaser.Point

The position of this object in the previous update.

Source - physics/ninja/AABB.js, line 40

pos:Phaser.Point

The position of this object.

Source - physics/ninja/AABB.js, line 35

system:Phaser.Physics.Ninja

A reference to the physics system.

Source - physics/ninja/AABB.js, line 30

velocity:Phaser.Point

The velocity of this object.

Source - physics/ninja/AABB.js, line 81

<readonly> width:number

The width.

Source - physics/ninja/AABB.js, line 58

<readonly> xw:number

Half the width.

Source - physics/ninja/AABB.js, line 46

<readonly> yw

Properties:

Name

Type

Description

xw

number

Half the height.

Source - physics/ninja/AABB.js, line 52

Methods

collideAABBVsAABB(aabb)

Collides this AABB against a AABB.

Parameters:

Name

Type

Description

aabb

Phaser.Physics.Ninja.AABB

The AABB to collide against.

Source - 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 - physics/ninja/AABB.js, line 408

collideWorldBounds()

Collides this AABB against the world bounds.

Source - physics/ninja/AABB.js, line 295

destroy()

Destroys this AABB's reference to Body and System

Source - physics/ninja/AABB.js, line 993

integrate()

Updates this AABBs position.

Source - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - physics/ninja/AABB.js, line 467

reverse()

Source - physics/ninja/AABB.js, line 216