Bonjour.
J’aimerais savoir comment faire un niveaux. Enfin j’aimerais savoir comment que: par exemple je tue 20 ennemies et le niveaux ce termine. J’aimerais aussi savoir comment faire que les ennemies apparaisse sur les cotés car il y en a qui apparaisse juste a coté de moi et me tue directement…
Merci
Bonne journée.
La solution la plus rapide est de créer une variable “nombre_de_morts” qui vaut zéro au début de la scène
et que tu incrémente à chaque ennemi tué.
Quand la variable vaut 20 (pour reprendre ton exemple) tu change de scène vers le niveau 2
(ou le magasin des armes, la cinématique, … tout ce qu’il peut y avoir entre deux combats, quoi)
dans l’éditeur, ça devrait donner quelquechose comme :
Au lancement de la scène : Créer la variable "Litres_de_sang_versés" avec une valeur de 0
"Quand un enemi est tué" : Ajouter 1 à la variable "Litres_de_sang_versés"
La variable :
"Litres_de_sang_versés" est : Aller à la scene "Suivante"
égale à 20 :
Je pense que c’est ça, je n’ai touché a GD depuis un bon moment déjà …
En espérant t’avoir aidé
EDIT (2 heures plus tard, se relit enfin)
J’ai oublié la seconde partie (^~^’)> Shame on me
De cette explication éclairée, je pense que tu as mis quelquechose comme :
“Créer un Ennemi avec une abscisse aléatoire et une ordonnée aléatoire”
Donc, ils apparaissent partout sur tout l’écran, pas que sur les cotés
Je vois deux solutions :
- Soit tu refait ton code dans le genre :
La variable “direction” prend une valeur aléatoire entre 1 et 4 (ou entre 0 et 3, ou alors 42 et 45 ; ça n’a pas vraiment d’importance)
Si "direction" est égale à 1 : Créer un objet "ennemi" avec une ordonnée de 0 et une abscisse aléatoire
Si "direction" est égale à 2 : Créer un objet "ennemi" avec une ordonnée de " la taille de la fenêtre en ordonnée" et une abscisse aléatoire
puis la même chose en inversant abscisse et ordonnée
- Ou alors, tu vérifie à la création de l’ennemis si il n’est pas trop près du joueur et si c’est le cas, le repousser
Ce qui peut donner :
(Création d’un ennemi avec la méthode du départ)
(en sous-évenement:)
La distance entre "Ennemi" : Appliquer à "Ennemi" une force de -1000 px
et "Joueur" est inférieure : Dans la direction de "Joueur"
à (distance de sécurité) : avec une dispertion de 0
Cette méthode devrait marcher elle aussi;
La force négative repoussera l’objet au lieu de l’attirer; c’est un “raccourci” que j’aime bien (c’est moi qui l’ai trouvé, faut dire) << papeufier
Les deux méthodes se valent à mon avis.
le seul défault pourait être que sur un ordi lent et avec la deuxième option on pourrait voir l’ennemi un dixième de seconde à la mauvaise position
(en fait 1/60 de seconde si j’ai compris comment ça marche)
c’est le temps que la condition se vérifie et que les changement soit appliqués. (4ian pourra me confirmer ou m’infirmer, je ne sais pas comment marche GD en profondeur)
Attention :
mes connaissances en “GD-code” datent un peu, ils peut y avoir de meilleures solutions
je ne suis pas une référence (auto-persuasion)
en témoigne l’heure de ce post …
Merci cela m’aide je vais tous de suite faire ce que vous venez de me dire.
Je dois utiliser quel variable ? une variable Global ou quelqu’onque ? et je n’est pas trop compris comment je fais ça:
“Quand un enemi est tué” : Ajouter 1 à la variable “Litres_de_sang_versés”
Encore merci !
voici un screen pour savoir si pour les variables ennemie tués sont bonne ou si c’est pas bon:
Pour ce genre de problème, utilise une variable de la scène si tu n’as pas besoin de stocker précisément le nombre de morts d’un niveau sur l’autre.
Pour la ligne
"Quand un enemi est tué" : Ajouter 1 à la variable "Litres_de_sang_versés"
Cela siginifie que tu remplace le “Quand un enemi est tué” par la condition correspondante
(En simple tu rajoute l’action au milieu de celles qui sont faites quand un ennemi est tué
dans le genre
L'objet "Chuck_Norris" est en : Ajouter 1 à la variable "NB_Ennemis_tués"
collision avec l'objet "Ennemi"
(Les informations entre crochets ou parenthèses ne sont pas vraiments importantes :
Tu les remplace par ce que tu veux
C’est pour ça que je met ce qui me passe par la tête)
← Au moins un nouveau message a été ajouté à ce sujet entre-temps. Vous pouvez revoir votre message en conséquence. →
Donc, je revois mon sujet en conséquence :
Tu peut fusionner les évenements 1, 2 et 3 entre eux, les conditions sont les mêmes.
L’évenement 9 est …
Il semble etre un mélange entre l’initialisation de la variable et un test
Si au lancement de la scène la variable est supérieure à 20 alors mettre la variable a zéro et passer a la scène suivante
Tu dois séparer les deux parties
Et ta variable “nombre_de_morts” est en globale, l’utilise-tu dans d’autres scènes ?
Sinon, le reste est du bon code je trouve
le 10 est “en travaux” ?
PS : Inutile de me vouvoyer, ça ne fait que gonfler mon égo ^^
merci tu m’aide beaucoup pour l’événement 10 ce n’étais qu’un petit test que je ferais plus tard en fait comme je n’avais pas compris les variable je m’étais des variables global mais maintenant j’ai compris la différence entre merci
edit:
J’ai fait ce que tu m’a demander du moins je crois, je pense mettre tromper quelque par.Après avoir relu et relu ton sujet je n’arrive toujours pas a savoir d’ou vient mon problème . Voila un screen:
merci j’ai réussi a le faire