AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -28%
Précommande : Smartphone Google Pixel 8a 5G ...
Voir le deal
389 €

 

 Spawn ennemis-Nombre Limité

Aller en bas 
AuteurMessage
RegelePisicilor
Pas mal
RegelePisicilor


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!

Spawn ennemis-Nombre Limité Empty
MessageSujet: Spawn ennemis-Nombre Limité   Spawn ennemis-Nombre Limité EmptySam 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!
Revenir en haut Aller en bas
RegelePisicilor
Pas mal
RegelePisicilor


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!

Spawn ennemis-Nombre Limité Empty
MessageSujet: Re: Spawn ennemis-Nombre Limité   Spawn ennemis-Nombre Limité EmptySam 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!
Revenir en haut Aller en bas
 
Spawn ennemis-Nombre Limité
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» spawn aléatoire
» Limite de Variable
» A combien est limité une variable ?
» deplacement limité
» Comment faire un temps limité ?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide débutants-
Sauter vers: