HitTestObject question

klusky27 Messages postés 1 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 3 décembre 2009 - 3 déc. 2009 à 21:51
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 - 4 déc. 2009 à 01:22
Bonjour à tous!
je suis étudiante en DUT et mon projet de cours est de réaliser un space invader, et j'avoue, j'ai beaucoup (beaucoupp beaucoup) de mal !
Là je voudrais pouvoir tirer un missile sur mon ennemi grâce à ma barre d'espace, ok ça j'y arrive! Mais j'aimerais qu'il soit possible de tirer plusieurs missile avant que l'ennemi meure pour de bon ..
Voici mon code:


var enemyArray:Array = new Array(); // c'est le tableau qui va contenir mes ennemis

 function InsertEnnemys(event:TimerEvent):void  {  // c'est la fonction timer, qui toutes les 5       
                                                  //secondes ajoute un ennemi sur la scène

for (var i:int = 0; i < 1; i++) {

 		var alien:aliens;
alien = new aliens();
var r = alien.width/2;
var p = alien.height/2;
alien.x= r + ((stage.stageWidth - alien.width) * Math.random());
alien.y= p + ((stage.stageHeight - (alien.height+50)) * Math.random());
addChild(alien);
alien.name = "alien" + i;
enemyArray[i] = alien;

                }
     }

function shoot(evt:Event):void {     // c'est ma fonction tir qui est appelée dès qu'on appuie              
                                      // sur la barre d'espace

            if (bille.hitTestObject(enemyArray[i])) { // si le missile atteint l'ennemi

 
        // On suprime le missile 			
                        bille.removeEventListener(Event.ENTER_FRAME,shoot);
        removeChild(bille);

// On supprime l'ennemi		 
                        enemyArray[i].removeEventListener(Event.ENTER_FRAME, shoot);
removeChild(enemyArray[i]);
enemyArray[i].supprimer();
enemyArray.splice(i,1);




      }
}





Voilà, j'espère vivement que vous pourrez m'aider
Merci d'avance !

1 réponse

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
4 déc. 2009 à 01:22
Bonsoir

Il suffit simplement de donner un nombre de points de vie à l'ennemie et de décrémenter cette valeur à chaque touché du missile. S'il n'y a plus de vie, tu élimine l'ennemi .. tout bêtement.

Peg'
0
Rejoignez-nous