L'exemple de cet article décrit la méthode de détermination des collisions en JS. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :
Méthode de collision JS :
/**Déterminez s'il y a une collision
* @param obj objet original
* @param dobj objet cible
*/
impact de la fonction (obj, dobj) {
var o = {
x : getDefaultStyle(obj, 'left'),
y : getDefaultStyle(obj, 'top'),
w : getDefaultStyle(obj, 'width'),
h: getDefaultStyle(obj, 'hauteur')
}
var d = {
x : getDefaultStyle(dobj, 'left'),
y : getDefaultStyle(dobj, 'top'),
w : getDefaultStyle(dobj, 'width'),
h: getDefaultStyle(dobj, 'hauteur')
}
varpx,py;
px = o.x <= d.x ? d.x : o.x
py = o.y <= d.y ? d.y : o.y
// Détermine si les points sont dans les deux objets
if (px >= o.x && px <= o.x o.w && py >= o.y && py <= o.y o.h && px >= d.x && px <= d.x d.w && py >= d.y && py < = d.y d.h) {
renvoie vrai ;
} autre {
return false ;
}
}
/**Obtenir les propriétés de l'objet
* @param obj Objet
* Attribut d'attribut @param
*/
function getDefaultStyle(obj, attribut) {
Return parseInt(obj.currentStyle ? obj.currentStyle[attribute] : document.defaultView.getComputedStyle(obj, false)[attribute]);
>
Un exemple est le suivant :
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn