Gérer des collisions avec tableau (T[])
Bonsoir,
J'ai le code suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| var collisions = function() {
var n = T.length;
var Mp = masse.value*(1/5);
for (var i = 1 ; i < n-1 ; i++) {
var xP = T[i].x;
var yP = T[i].y;
var distanceObjet = Math.sqrt((x-xP)*(x-xP)+(y-yP)*(y-yP));
if (distanceObjet<(10+(Mp/2))){
T[i].style.backgroundColor="red";
}
else{T[i].style.backgroundColor="blue"}
}
for (var j = i+1 ; j < n ; j=j++) {
var xP2 = T[j].x;
var yP2 = T[j].y;
var distancePlanetes = Math.sqrt((xP-xP2)*(xP-xP2)+(yP-yP2)*(yP-yP2));
if (distancePlanetes<Mp){
T[j].style.backgroundColor="red";
}
else {T[j].style.backgroundColor="blue"}
}
} |
x et y représentent les coordonnées d'un div se déplaçant et rencontrant un div de coordonnées xP2 et yP2 fixe, stocké dans un tableau lorsqu'il est créé.
La collision entre ces 2 éléments fonctionne bien, je cherche désormais à tester la collision entre 2 divs dans le tableau (Mp représente le diamètre d'un div dans le tableau, donc quand la distance entre le centre de ces 2 divs est inférieure à la somme des rayons de ces 2 div = Mp = diamètre, il y a collision)
J'ai créé la variable j qui désigne un div dans le tableau tel que j=i+1, c'est à dire le div suivant dans le tableau T[]: lorsque je crée le div de coordonnées T[j].x = T[i+1].x et T[j].y= T[i+1].y, il est censé vérifier la collision avec un div créé précédemment, pas uniquement le dernier, c'est à dire tous les div présents dans le tableau avant que je crée celui-là.
Je cherche donc un moyen d'organiser ça, qui serait visible par un changement de couleur, mais pas moyen..
Merci pour votre aide :)