Мне нужно заблокировать два прямоугольника, сталкивающихся друг с другом в Action Script. Код, который у меня есть, работает только по-разному (только столкновение X на X или Y на Y). Когда я проверяю, сталкивается ли он на оси X и Y, они мешают.AS3 2D Прямоугольная блокировка блокировки
функция collisionTest (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, и не нашли ничего полезного для блокировки столкновения, однако я нашел много о тестировании для них.