Показать сообщение отдельно
  #1 (permalink)  
Старый 11.12.2011, 23:37
Аватар для Раед
''
Отправить личное сообщение для Раед Посмотреть профиль Найти все сообщения от Раед
 
Регистрация: 11.12.2011
Сообщений: 636

соприкосновение 2-ух объектов
Помогите написать функцию, определяющую соприкасается 2 объекта или нет
на вход подаётся 2 объекта (координаты можно получить, высота и ширина каждого известны)
функция должна вернуть true или false
Вот мой код но он работает не корректно
function touchTwins(el,tw) {
 var elArr = new Array();
 ax = Number(tw.style.left.substring(0,tw.style.left.indexOf('px')));
 ay = Number(tw.style.top.substring(0,tw.style.top.indexOf('px')));
 axx = Number(tw.style.left.substring(0,tw.style.left.indexOf('px')))+15;
 ayy = Number(tw.style.top.substring(0,tw.style.top.indexOf('px')))+15;
 elArr['x1'] = Number(el.style.top.substring(0,el.style.top.indexOf('px')));
 elArr['y1'] = Number(el.style.top.substring(0,el.style.top.indexOf('px')));
 elArr['x2'] = Number(el.style.top.substring(0,el.style.top.indexOf('px')))+36;
 elArr['y2'] = Number(el.style.top.substring(0,el.style.top.indexOf('px')))+66;
 if (tochkTouch(ax,ay,elArr)||tochkTouch(ax,ayy,elArr)||tochkTouch(axx,ay,elArr)||tochkTouch(axx,ayy,elArr)) {
  return true;
 } else {
  return false;
 }
}
function tochkTouch(xt,yt,em) {
 if((em['y1'] < yt)&&(em['y2'] > yt)&&(em['x1'] < xt)&&(em['x2'] > xt)) {
  return true;
 } else {
  return false; 
 }
}
Ответить с цитированием