bool IsCollided(RECT rect1, RECT rect2)
{
if (rect1.right < rect2.left || rect1.left > rect2.right || rect1.bottom < rect2.top || rect1.top > rect2.bottom)
return false;
return true;
}
其中,RECT是Windows API中的数据结构,表示一个矩形,包含四个元素:left、top、right、bottom,分别表示矩形的左上角和右下角坐标。
- 圆形碰撞判定:定义两个圆形,判断它们圆心之间的距离是否小于等于它们的半径之和,如果是,则认为发生碰撞。
示例代码:
复制bool IsCollided(int x1, int y1, int r1, int x2, int y2, int r2)
{
int dx = x1 - x2;
int dy = y1 - y2;
int distance = sqrt(dx * dx + dy * dy);
if (distance <= r1 + r2)
return true;
return false;
}