Détecter la collision de 2 éléments HTML.
Cette fonction va détecter une collision entre 2 éléments html.
- collision = function (element1, element2) {
- //Récupération des éléments
- element1 = $(element1);
- element2 = $(element2);
- //Quel est la position des éléments.
- var pos1 = element1.position();
- var pos2 = element2.position();
- //Quel est leur taille.
- var L1 = element1.width();
- var L2 = element2.width();
- var h1 = element1.height();
- var h2 = element2.height();
- //On crée les positions manquante.
- pos1.right = pos1.left+L1;
- pos2.right = pos2.left+L2;
- pos1.bottom = pos1.top+h1;
- pos2.bottom = pos2.top+h2;
- //On teste si les éléments ne ce touche pas.
- if(pos1.right < pos2.left) return false;
- if(pos1.left > pos2.right) return false;
- if(pos1.bottom < pos2.top) return false;
- if(pos1.top > pos2.bottom) return false;
- //Si il y a collision, on renvoie true.
- return true;
- }
Laissez un commentaire