碰撞原理 :
a的最小点小于b的最大点 a的最大点并且a的最大点大于b的最小点
或者
b的最小点小于a的最大点并且b的最大点大于a的最小点
x和y判断相同
以下是代码
if (x<=(x1 + w1) && (x + w)>=x1 || x1<=(x + w) && (x1 + w1)>=x)
{
if (y<=(y1 + h1) && (y + h)>=y1 || y1<=(y + h) && (y1 + h1)>=y)
cout << "碰撞" << endl;
}
else
cout << "没有碰撞" << endl;
//判断点的方式
if (x1 >= x&&x1 <= (x + w) || x >= x1&&x <= (x1 + w1))
{
if (y1 >= y&&y1 <= (y + h) || y >= y1&&y <= (y1 + h1))
cout << "碰撞" << endl;
}
else
cout << "没有碰撞" << endl;