Faire en sorte que les ennemis tirent tous

Bonjour, bonsoir,

Cela fait quelques temps déjà que je me tente à la création de jeu grâce à Game Develop. Je tenais, parmi tant d’autres, à remercier 4ian pour son excellent travail.

Mais je rencontre ainsi un problème en particulier. Je travaille sur un jeu basé sur le tutoriel pour commencer, avec, à la place d’en faire un jeu spatial, des images de mes amis, d’où le nom du jeu “Shooter Kevin”.

En prenant le tutoriel, j’ai modifié les déplacements pour qu’ils s’effectuent aux flèches directionnelles et que le tir se fasse avec la barre d’espace. J’ai également ajouté un menu encore en travaux, un “crédits”, et un “Game Over”. J’ai rajouté une variable score, et une variable vie, qui s’affichent à l’écran. J’ai également voulu compliquer le jeu en rajoutant des vagues d’ennemis, la première vague ayant ma tête, la seconde celle d’un autre ami, et la troisième un autre ami, et pourquoi un boss final avec la petite amie du héros. C’est justement là que je pêche.

La première et la deuxième vague ne tirent pas. En revanche, tous les vaisseaux du troisième type sont sensés tirés en même temps. J’ai regardé sur le forum, et j’ai vu plusieurs sujets où il était question du sous-évènement “Pour tout objet [Nomdelobjet]”. J’ai essayé à plusieurs reprises, mais ce que j’obtiens dans le meilleur des cas, c’est un seul ennemi qui tire, tandis que les autres qui apparaissent avancent bêtement. La deuxième possibilité que j’ai eu était de voir chaque ennemi tiré, mais une seule fois, à leur apparition. Enfin, la dernière de mes tentatives m’a fait voir tous les ennemis tirer, ce qui est une bonne chose, mais de telle manière que les tirs formaient un mur, en d’autres termes, le chrono n’était apparemment pas pris en compte, et les tirs s’enchaînaient non stop.

Au risque de paraître chiant, je repose donc une question que beaucoup ont posé avant moi sans pour autant m’éclairer:
“Maman, qu’est ce que je fais?”

Les petits screens des évènements de chacune de mes tentatives, je présume que ça vaut mieux:

Tir correct mais un à la fois.jpg

Tir tous mais comme un mur.jpg

Tir une fois chaque Shooter Kevin.jpg

Bonjour,

Je vais d’abord t’expliquer pourquoi tes trois tentatives ne fonctionnent pas :

  • La 1ère : Il ne le fait que sur un ennemi.
  • La 2ème : tu as raison d’utiliser le Pour Chaque mais l’événement “Le chronomètre “Tirlouis”…” est séparé du Pour Chaque.
    Précision : Chaque événement est indépendant, ces actions s’exécutent que lorsque ces conditions sont valides.
    Dans le 2ème cas, Si le chrono “Tirlouis” est supérieur à 1 sec, il exécute “Pas d’actions”. Et dans le “Pour Chaque”, il n’y a pas de conditions, donc ça tir tout le temps.
  • 3ème cas : je ne comprend pas, c’est un peu n’importe quoi en fait. :wink:

Je te propose ma solution :
[attachment=0]Louis.png[/attachment]

Je t’explique : quand le chrono dépasse 0.25, les sous-événements s’exécutent. Grâce au “Pour Chaque” un tir est crée pour chaque “Louis”. Ensuite, dès que le “Pour Chaque” est fini, le dernier sous-événement remet le chrono à zéro pour que ça s’arrête.

Je comprend mieux où était mon défaut, il fallait penser à séparer la fin du chronomètre, d’accord! Je ne me suis pas toujours montré très cohérent dans mes tentatives, je l’admet, mais bon, disons que cela fait pas mal de temps que je m’énerve dessus, alors à la fin, on en vient à faire n’importe quoi…

En tout cas, merci infiniment! Ta solution marche à merveille! J’essaierai de me rappeler de cette règle d’or pour la suite: Les évènements sont indépendants. Je pense qu’avec ça, je devrais réussir à effectuer la plupart de mes projets. (La seule chose qui m’effraie réellement pour la suite, c’est l’implantation d’un système de sauvegarde, argh…)

En tout cas, merci beaucoup pour ta rapidité et pour la clarté de ta réponse!