長方形(軸並行ボックス)同士の衝突判定(2次元)

rectangle-rectangle-collision.png


上のデモのようにx軸,y軸両方向でオーバーラップしてる時が2つの長方形が重なっているときです

bool AABox::isCollide(const AABox& another)
{
    //x方向で辺が重なっているか
    bool xOverlap = mMin.x <= another.mMax.x && another.mMin.x <= mMax.x;
    bool yOverlap = mMin.y <= another.mMax.y && another.mMin.y <= mMax.y;
 
    return xOverlap && yOverlap;
 
}

ソースコード(github)
C++ executableデモンストレーションアプリ

aabb

サポートサイト Wikidot.com aabb