Bonsoir,

J'ai le code suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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