我需要在动作脚本中阻止两个相互碰撞的矩形。我的代码只能在维度上工作(只有 X 上的 X 碰撞或 Y 上的 Y)。当我测试它是否在 X 轴和 Y 轴上发生碰撞时,它们会产生干扰。
函数碰撞测试(obj1,obj2){
var b1 = getBound(obj1);
var b2 = getBound(obj2);
if(((b1.x < b2.x + b2.width) && (b1.x + b1.width > b2.x)) && ((b1.y + b1.height > b2.y) && (b1.y < b2.y + b2.height)))
{
if(b1.x + b1.width > b2.x + b2.width)
obj1.x = b2.x + b2.width;
else if(b1.x < b2.x)
obj1.x = b2.x - obj1.width;
else if(b1.y < b2.y)
obj1.y = b2.y - obj1.height;
else if(b1.y + b1.height > b2.y + b2.height)
obj1.y = b2.y + b2.height;
}
}
如果有任何其他方法可以测试碰撞并阻止它,那么请告诉我,但我已经在 Google 和 stackoverflow 上进行了搜索,并没有发现任何对阻止碰撞有用的东西,但是我发现了很多关于为他们进行测试。