Показать сообщение отдельно
  #1 (permalink)  
Старый 30.07.2012, 23:51
Профессор
Посмотреть профиль Найти все сообщения от Антон Крамолов
 
Регистрация: 11.04.2012
Сообщений: 255

Определение столкновения элементов на js
Есть старенькая проверенная ф-ия(я ей столкновение спрайтов проверял, работает)

function collisionDetection(x1, y1, w1, h1, x2, y2, w2, h2) { 
    return x1 < (x2 + w2) && y1 < (y2 + h2) && (x1 + w1) > x2 && (y1 + h1) > y2; 
}


function realWidth(el) {
    return parseInt(getStyle(el, 'border-left-width')) + parseInt(getStyle(el, 'margin-left')) + parseInt(getStyle(el, 'width')) + parseInt(getStyle(el, 'margin-right')) + parseInt(getStyle(el, 'border-right-width')); 
}

function realHeight(el) {
    return parseInt(getStyle(el, 'border-top-width')) + parseInt(getStyle(el, 'margin-top')) + parseInt(getStyle(el, 'height')) + parseInt(getStyle(el, 'margin-bottom')) + parseInt(getStyle(el, 'border-bottom-width')); 
}

function isCollide(a, b) { 
    var p1 = absolutePosition(a), p2 = absolutePosition(b); 
    return collisionDetection(p1.left, p1.top, realWidth(a), realHeight(a), p2.left, p2.top, realWidth(b), realHeight(b)); 
}


И такую хрень написал чот не определяет
Ответить с цитированием