二つのエンティティの衝突判定を行い、その結果を返す。
回転・拡大されたエンティティや、親の異なるエンティティ同士も扱える汎用の衝突判定処理。 ただし計算量が多いので、大量のエンティティ間のすべての衝突を確認するような状況では利用を避けることが望ましい。 親が同じで回転・拡大を行わないエンティティ同士の場合は、より軽量な Collision.intersectAreas() を利用すること。 親が同じで中心座標同士の距離だけで判定してよい場合は、より軽量な Collision.withinAreas() を利用すること。
対象のエンティティの座標や大きさなどを変更した場合、 この関数の呼び出し前にそのエンティティの modified() を呼び出しておく必要がある。
衝突判定するエンティティ
Optional
e1 の当たり判定領域。省略された場合、{ x: 0, y: 0, width: e1.width, hegiht: e1.height }
{ x: 0, y: 0, width: e1.width, hegiht: e1.height }
e2 の当たり判定領域。省略された場合、{ x: 0, y: 0, width: e2.width, hegiht: e2.height }
{ x: 0, y: 0, width: e2.width, hegiht: e2.height }
二つのエンティティの衝突判定を行い、その結果を返す。
回転・拡大されたエンティティや、親の異なるエンティティ同士も扱える汎用の衝突判定処理。 ただし計算量が多いので、大量のエンティティ間のすべての衝突を確認するような状況では利用を避けることが望ましい。 親が同じで回転・拡大を行わないエンティティ同士の場合は、より軽量な Collision.intersectAreas() を利用すること。 親が同じで中心座標同士の距離だけで判定してよい場合は、より軽量な Collision.withinAreas() を利用すること。
対象のエンティティの座標や大きさなどを変更した場合、 この関数の呼び出し前にそのエンティティの modified() を呼び出しておく必要がある。