Enjin

AABB

method
 collision.AABB() 

Option name Type Description
X1 Number

X coordinate of top left corner of first object

Y1 Number

Y coordinate of top left corner of first object

Width Number

Width of first object

Height Number

Height of first object

X2 Number

X coordinate of top left corner of second object

Y2 Number

Y coordinate of top left corner of second object

Width2 Number

Width of second object

Height2 Number

Height of second object

return Boolean

Whether or not two rectangles have collided

Axis aligned bounding box collision check

collision.AABB = function(x1, y1, w1, h1, x2, y2, w2, h2) {
	return (x1 < x2 + w2 && x1 + w1 > x2 && y1 < y2 + h2 && h1 + y1 > y2);
}

circle

method
 collision.circle() 

Option name Type Description
X Number

X coordinate of center of first object

Y Number

Y coordinate of center of first object

Radius Number

Radius of first object

X Number

X coordinate of center of second object

Y Number

Y coordinate of center of second object

Radius Number

Radius of second object

return Boolean

Whether or not two circles have collided

Bounding circle collision check

collision.circle = function(x1, y1, r1, x2, y2, r2) {
	return (x2-x1)^2 + (y1-y2)^2 <= (r1+r2)^2;
}

module.exports = collision;