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
-
- Source - 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 - 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
-
- Source - physics/ninja/AABB.js, line 52
Properties:
Name Type Description xw
number Half the height.
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