举报

easyx怎么进行碰撞判定?

0
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,分别表示矩形的左上角和右下角坐标。

  1. 圆形碰撞判定:定义两个圆形,判断它们圆心之间的距离是否小于等于它们的半径之和,如果是,则认为发生碰撞。

示例代码:

复制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;
}
ava
Meraki

2023-3-31

举报
0

我没看太明白。。你这是在分享算法,那么你的问题是什么呢?

ava
慢羊羊

2023-4-4

技术讨论社区