RegelePisicilor Pas mal
Messages : 34 Projet Actuel : Du shoot, du shoot et encore du shoot!
Action plateformer typé arcade sur écran fixe, dans lequel le joueur doit éliminer, room après room, chaque ennemi qui se présente à lui!
| Sujet: Spawn ennemis-Nombre Limité Sam 9 Jan 2016 - 10:29 | |
| Bonjour à tous!
D'abord merci à tous les membres de ce forum, j'y ai trouvé une mine de conseils et de petits trucs bien utiles et plus que bienvenus!
Si je poste aujourd'hui c'est parce que jusque là malheureusement je n'ai pas trouvé de réponse au problème qu'est le mien, ni à "bidouiller" à partir des informations récoltées ça et là pour résoudre mon problème.
Basiquement, je cherche à faire spawn 5 ennemis par exemple dans un coin de ma room à intervalle régulier. J'ai donc créé un objet baptisé "obj_enemiTimer1", dont les évènements sont les suivants:
//Create
alarm[0]= 3*room_speed; compteur =0;
//alarm0
compteur +=1; instance_create (64,64,obj_enemi1);
if (compteur <=5) {
alarm[0]= -1; };
alarm[0] = 3*room_speed;
Malheureusement je me retrouve avec des ennemis qui spawn à l'infini. Alors j'ai peut être dans l'idée que le fait de rajouter l'alarme après mon condition doit y être pour quelque chose... Mais si j'effectue la modification suivante :
compteur +=1; instance_create (64,64,obj_enemi1);
if (compteur <=5) {
alarm[0]= -1; } else {
alarm[0] = 3*room_speed;
}
Je me retouve avec un seul ennemi.
Je suis autodidacte dans la programmation et ne m'y suis pas mis depuis très longtemps. Du coup j'ai des pistes de réflexion mais j'ai du mal à m'organiser. J'ai pensé évidemment à utiliser une boucle for mais sans succès, je suis plutôt mauvais!
Idéalement je voudrais considérer cette objet enemiTimer comme une "source" et disposer deux sources dans ma room. Quand tous les ennemis des sources sont éliminés, cela déclenche un event qui permet d'accéder au niveau suivant.
Genre (dans l'idée) if enemiTimer1 à tous ses ennemis tués, event1= true. If enemiTimer2 à tous ses ennemis de tués, event2 = true. If event1 && event2 = true, alors la porte pour accéder au niveau s'ouvre.
Toute aide est la bienvenue, évidemment je vous remercie d'avance! |
|
RegelePisicilor Pas mal
Messages : 34 Projet Actuel : Du shoot, du shoot et encore du shoot!
Action plateformer typé arcade sur écran fixe, dans lequel le joueur doit éliminer, room après room, chaque ennemi qui se présente à lui!
| Sujet: Re: Spawn ennemis-Nombre Limité Sam 9 Jan 2016 - 11:00 | |
| Rebonjour à tous,
j'ai trouvé la solution!
Pour ce que ça peut aider, j'ai procéder différemment. Plutôt que de jouer sur l'augmentation d'une variable, j'ai plutôt chercher à réaliser une soustraction en faisant cela:
// create
alarm[0]=3*room_speed; nbEnnemis = 5;
//alarm0
nbEnnemis -=1; instance_create (64,64,obj_enemi1);
if (nbEnnemis ==0) {
alarm[0]= -1; } else {
alarm[0] = 3*room_speed;
};
Si ça peut en aider certains, je suis ravis!
Je résume grosso modo pour ceux qui seraient intéressés et auraient besoin d'une mécanique identique.
J'ai créé une alarme qui se déclenche dès le début du jeu. Lorsqu'elle arrive à la valeur suivante : 3*room_speed, je lui demande d'enlever un 1 à la variable nbEnnemis et de redéclencher l'alarme. Quand la variable nbEnnemis arrive à zéro, le tout s'arrête.
Bonne année à tous! |
|