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
-
- Source code: physics/ninja/AABB.js (Line 25)
Properties:
Name Type Description system
Phaser.Physics.Ninja.Body A reference to the body that owns this shape.
-
[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
-
- Source code: physics/ninja/AABB.js (Line 52)
Properties:
Name Type Description xw
number Half the height.
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)