Ejemplo n.º 1
0
 intersectsBottomPlate: function(polygon) {
     return SAT.testPolygonPolygon(polygon, this.bottomPlatePolygon);
 },
Ejemplo n.º 2
0
 intersectsPolygon: function(polygon) {
     return SAT.testPolygonPolygon(polygon, this.topPlatePolygon) ||
         SAT.testPolygonPolygon(polygon, this.bottomPlatePolygon);
 },
Ejemplo n.º 3
0
 intersectsTopPlate: function(polygon) {
     return SAT.testPolygonPolygon(polygon, this.topPlatePolygon);
 },
Ejemplo n.º 4
0
      collision = SAT.testCirclePolygon(mentityA, mentityB, response);

      entityA.x = origEntityAX;
      entityA.y = origEntityAY;
    } else if (entityB.isRounded) {
      let origEntityBX = entityB.x;
      let origEntityBY = entityB.y;
      mentityB.x = entityB.x + entityB.r;
      mentityB.y = entityB.y + entityB.r;
      mentityA = entityA.rectangular.toPolygon.call(entityA);

      collision = SAT.testPolygonCircle(mentityA, mentityB, response);

      entityB.x = origEntityBX;
      entityB.y = origEntityBY;
    } else {
      mentityA = entityA.rectangular.toPolygon.call(entityA);
      mentityB = entityB.rectangular.toPolygon.call(entityB);

      collision = SAT.testPolygonPolygon(mentityA, mentityB, response);
    }

    if (collision) {
      entityA.emit('collision', response);
      return response;
    }

    return false;
  }
};