Evolution de personnage


#1

Bonjour, alors voilà j’ai commencé à créer un petit jeu et au fur et à mesure je voudrais que mon personnage (trois pierres empilées) évolue. C’est à dire qu’à mesure du jeu d’autres pierres viennent s’accumuler sur la tête de mon personnage de base.
J’ai crée une variable où lorsque mon personnage rentre en collision avec un rocher une nouvelle pierre apparait sur sa tête, mon personnage passe de 3 à 4 pierres. Mais l’animation de mon personnage à 4 pierres / tête ne se lance pas.
Y’a t’il une façon de faire évoluer son personnage après collision avec un objet ?


#2

Comment est ton animation avec les 4 pierres ?
Sur ton image je vois tout en bas a droite que tu met l’animation “plusone” et vu la petite image il y a que 3 pierres dans cette animation.
Si tu en veux 4, ajoute une animation à titouan que tu appel “evolution” et tu met des images d’animation avec 4 pierres dans le dessin.

Dit moi si je me trompe sur ce que tu souhaite :slight_smile:


#3

En fait j’ai mon sprite Titouan qui a une animation avec trois pierres mais dans ce même spirte j’ai une animation appelé plusone ou il y’a 4 têtes. L’animation plusone est en loop et devrait fonctionner si je fais appel à elle mais ça ne fonctionne pas. Le personnage à 4 tête apparait mais l’animation ne marche pas (marcher sauter etc)


#4

Les autres animations se lisent ?
Comment gère tu les animations dans les événements ?
Quel version de GD5 utilise tu ?

Ont va tenter de trouver la solution, j’ai vu d’autres personne dans ton cas où une animation ne se lance pas.
Avant de chercher un bug je veux m’assurer que ce soit bien un dysfonctionnement et pas une maladresse :slight_smile:

Par défaut met ton animation 4 pierre sur ton personnage, puis lorsqu’il rencontre un rocher tu passe a l’animation avec 3 pierres.
C’est pour s’assurer que le soucis ne viens pas des animations.
Normalement en faisant ça ton anim 4 pierres fonctionne et celle à 3 pierres ne fonctionne pas.

Ensuite j’aimerais bien voir les événements dans l’ordre, notamment ceux où tu fait des changements, pause, lecture sur les animations.
L’ordre a son importance.

Si tu est pas trop dans l’urgence parce qu’en ce moment j’suis occupé envoie moi ton projet de jeux dans mes message privé après avoir tester ce que je te disais plus haut.
Ton retour m’aidera pour le comparer avec le mien.


#5

Il faut que tu mettes une condition une seule fois (Trigger once while true) à ton dernier bloc ou que tu changes la variable mode, car ton animation est réinitialisée en permanence, sinon.


#6

Salut merci beaucoup pour ta réponse !
alors j’utilise la dernière version et toutes mes animations fonctionnement normalement, tout est bien sauf à ce niveau.
J’ai essayé de commencer par le personnages à 4 pierres puis quand il rencontre le rocher de passer à 3 pierres et cela fonctionne ! j’ai carrément créer un autre personnage avec plusieurs animations dedans et tout fonctionne ! Du coup je ne comprend pas trop pourquoi lorsque je fais l’inverse ça ne fonctionne plus.

je met la capture de mes événements et actions !
et sinon de ce que je comprend cela doit venir de mes animations dans mon personnage.


#7

Une autre chose que je viens de tester : j’ai ouvert un nouveau dossier et j’ai crée un nouveau jeu où j’ai juste mit mon personnage à 3 pierres, un sol et un rocher. Lorsque mon personnage entre en collision avec le rocher une 4eme pierre apparait et mon personnage fonctionne parfaitement, il marche il saute etc. :open_mouth:


#8

De ce que je dirais en voyant les événements, tu met des animations a chaque mouvement et même lorsqu’il ne bouge pas l’animation est définie.

Et losqu’il y a une variable mode sur titouan alors tu met l’animation “plusone”.
Voici comment je vois la chose.

Debut on ne bouge pas
=> animation idle
Après on va vers le rocher.
=> Animation running.
On touche le rocher et ont s’arrete.
=> animation plusone
Mais comme ensuite les événements recommencent a l’image suivante alors titouan bouge pas donc
=> animation idle
Et animation idle est 3 pierres.

Essaie de mettre une variable texte sur titouan.
Une variable objet qui s’appel “type_animation”
Et en valeur pas défaut au début de la scène tu met “Running”
Ensuite quand tu touche un rocher tu change la valeur par “plusone”.
Tu supprime l’action de changer l’animation quand tu a touché un rocher.
Et tu met bien VariableString(“type_animation”) a la place de “Running”


#9

Désolé pour la réponse tardive mais j’ai beau essayer de changer des choses tant au niveau animation ou évenements il y’a quelque chose que je ne dois pas bien faire ou comprendre car je n’arrive toujours pas à lancer l’animation des 4 pierres.
Je suis toute nouvelle à gdevelop et j’ai un peu de mal pour le coup :joy:


#10

Alors envoie moi en Message privé ton dossier avec ton jeu je vais voir ce qui ne va pas et je t’explique tout ça après.