2017-08-13 7 views
-1

C'est le code que je utilise pour ma détection de collision:CreateJS - Détection de collision avec de multiples objets dans deux conteneurs

for(var k = 0; k < enemies.children.length; k++) { 

    if(bullet.x >= enemies.children[k].x + wingmanWidth || 
     bullet.x + sizeBullet <= enemies.children[k].x - wingmanWidth || 
     bullet.y >= enemies.children[k].y + wingmanHeight || 
     bullet.y + sizeBullet <= enemies.children[k].y) 
{ 
    //not 
}else { 
    // collsion detected 
} 

La collision est détectée entre un seul objet de balle et plusieurs objets de Wingman dans le conteneur ennemis. Maintenant, je veux détecter la collision entre plusieurs balles dans le conteneur de balles et plusieurs objets wingman dans le conteneur ennemis.

+1

Quel est le problème? Ajoutez simplement un autre cycle 'for' pour chaque balle. –

Répondre

1

fixe en ajoutant une autre boucle comme Jozef a suggéré

for(var k = 0; k < enemies.children.length; k++) { 
    for(var j = 0; j < bulletsContainer.children.length; j++) {  
    if(bulletsContainer.children[j].x >= enemies.children[k].x + wingmanWidth || 
     bulletsContainer.children[j].x + sizeBullet <= enemies.children[k].x - wingmanWidth || 
     bulletsContainer.children[j].y >= enemies.children[k].y + wingmanHeight || 
     bulletsContainer.children[j].y + sizeBullet <= enemies.children[k].y) { 

     //not 
    } else { 
     //yes 
    } 
}