Pistolet dans un jeu

Résolu
nicoool18
Messages postés
39
Date d'inscription
dimanche 28 août 2005
Statut
Membre
Dernière intervention
20 mai 2008
- 25 juil. 2006 à 19:44
cs_Girou
Messages postés
1203
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
23 juillet 2009
- 26 juil. 2006 à 13:49
Bonjour,
Je suis en train de programmer un jeu et je voulais ajouter un pistolet pour mon personnage principale. le probleme c'est que je ne vois pas comment faire pour dire que quand une balle (qui sera la copie d'un clip et qui se copira a chaque fois que l'on appuis sur ctrl, donc il peut y en avoir plusieurs en meme temps) touche n'importe qu'elle enemis, l'enemis meurt. Merci !
A voir également:

3 réponses

cs_Girou
Messages postés
1203
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
23 juillet 2009
2
26 juil. 2006 à 13:49
Rebonjour !

Non, tu peux avoir un tableau qui stock les références aux ennemis
pour reprendre l'exemple:
ennemis[0]=_root.ennemi1
ennemis[1]=_root.leGrosMechant22
ennemis[2]=_root.unMechantpresqueGentil

Ton idée de  mettre les balles dans un tableua et de verifier dans chaque ennemis si il est touché par une balle revient exactement au même sauf que, en y repensant, cette solution serait plus économique en temps de calcul car il y aura sans doute moins d'ennemis que de balles sur la scene.

on inverse juste le code
// des qu'une balle est tirée
_root.balles.push(reference_au_clip_balle)

unEnnemi_mc.onEterFrame=function(){

 for (i=0;i<_root.balles.length;i++){
if (this.hitTest(_root.balles[i]){
 // Creer un code ou appel d'une fonction qui tue unEnnemi_mc
}
//où balles[] est un tableau contenant la référence de tous les clips de balle tirées
}

Maintenant, pour allez plus loin, dans ton cas il serait tres intéressant de fonctionner avec des classes (si tu travailles en actionscript 2)

Tu aurais une classe de base Ennemi contenant les éléments communs à tous les ennemis (bouger, mourrir,...) et des classes filles qui étendent la classe Ennemi avec les spécificités de chaque type d'ennemis
Même ton personnage principale pourrait être une classe fille de Ennemi -> il peut aussi bouger, mourrir, ...

Mais on entre dans la programmation orienté objet qui est une autre affaire !!

@+
Jo
3
cs_Girou
Messages postés
1203
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
23 juillet 2009
2
26 juil. 2006 à 09:17
Bonjour,

tu pourrais placer sur chaque copie des balles un script qui vérifie (à chaque onEnterFrame) si la balle touche un ennemi (fonction hitTest)
du genre
lorsqu'une balle est tirée
_laBalle.onEterFrame=function(){

 for (i=0;i<_root.ennemis.length;i++){
if (this.hitTest(_root.ennemis[i]){
 // Creer un code ou appel d'une fonction qui tue l'ennemis [i]
}
où ennemis[i] est un tableau contenant la référence de tous les clips ennemis
}
0
nicoool18
Messages postés
39
Date d'inscription
dimanche 28 août 2005
Statut
Membre
Dernière intervention
20 mai 2008

26 juil. 2006 à 11:44
merci beaucoup de ton aide !
Mais il y a qqc que je n'est pas comprise :
les ennemis doivent tous s'appler du style : ennemis1 ennemis2 etc ??
car moi j'ai pls type d'ennemis donc il y en a qui s'appelle totalement autrement ! Comment je fait ? je pourait pas plutot faite l'inverse ? que je mette sur tout les ennemis une fonction qui dit que s'il se fait toucher par une balle, il creve. je ferait un tableau contenant les noms des balles qui sont actuellement sur la scene. qu'elle en sera le code ?
Merci !
0