[ Help ] Toucher 3 fois un ennemi avant de le tuer

Bonjour à tous je travail sur un projet très similaire à l’exemple “plateforme” donné dans le fabuleux logiciel Game Develop. J’utilise une hitbox pour mon player (objectplateforme) et j’aimerai lui faire affronter un ennemi qui aurait trois vies.

Comment faire ? J’ai essayé avec une variable mais cela ne marche pas et dès que j’ai touché mon ennemi une première fois il n’est plus possible de le toucher à nouveau. Je ne sais plus comment faire.

Salut je ne vois pas où vienemy = 3 ?

Il faut l’écrire dans une action sans condition ?

Moi je la mettra avec une condition au lancement de la scène faire =3 à la variable vienemy

J’ai essayé mais ça ne marche pas. Je me demande si c’est pas lié au fait que l’événement 17 marche très bien la première fois mais pas les suivantes ?

Pour être franc je comprend pas le principe de l’évent 17 … ^^"
Mais en effet si le personnage ne peut pas rejouer l’évent ou il tape l’enemy et enléve 1 à la variable bin il ne peut pas ^^
Tu as mis ça pour qu’il ne puisse pas le faire d’affiler ? Si oui essaie avec un chrono ?

  1. Regroupe tes évènements “Au lancement de la scène” dans un seul évènement et mets le en début de page. C’est plus clair et ça évite les oublis.

  2. N’utilise pas de variable globale pour ce type d’utilisation, mais une variable d’objet (ainsi chaque ennemi/joueur créé aura sa propre variable de vie). Clic droit sur l’objet → Autres propriétés → Variable

  3. Ton évènement 18 est validé 60 fois par seconde, ta variable se prend donc -60 par seconde.
    Toujours ajouter un chronomètre, ou une variable qu’on met à jour (une fois encore, une variable d’objet “timeur” qui commence à 60 et qu’on décrémente de 1 à chaque cycle, puis qu’on remet à 60 à chaque dégat)

  4. Tu dis à GD de déplacer la hitbox, mais en évènement 3, tu lui dis de la replacer comme avant. Je ne comprends pas trop ce que tu veux faire, mais ça me semble contradictoire.

Ce que je ferais :
Si enemy en collision avec hitboxalien
–si alien.timeur <=0 alors alien.vie -1 et alien.timeur = 60

Pour chaque objet alien
–alien.timeur -1
–si alien.vie = 0 alors supprimer alien

L’idée est de simuler un jeu de plateforme basique, où le joueur peut sauter sur les ennemis.

Lorsque le player est en train de tomber et qu’il rentre en collision avec l’ennemi on active l’automatisme plateforme de l’ennemi
pour que le player puisse rebondir dessus (permettre, simuler et écarter) et enfin faire jouer la variable -1.

Comment tu ferais au plus simple pour que l’ennemi ai trois vies : la variable c’est une bonne idée ?

mtarzaim :

  1. Merci c’est fait, tu as raison c’est plus clair comme ça

  2. C’est bon j’ai créé la variable de l’objet : clic droit sur l’objet dans la scène > propriétés > ajouter une variable : vienemy (valeur 3)
    PS : c’est normal que lorsque que je créé une condition variable d’un objet et que je choisi l’objet voulu, GD ne me propose pas la variable créée précédemment ?

  3. Oulà je digère un peu tout ça !!!

  4. J’ai repris l’exemple “plateforme” : on met une hitbox en objet plateforme sur le joueur et on la positionne dessus. Comme ça la hitbox gère tout les déplacements et le joueur lui sert juste de visuel animé. L’événement me paraît bien.

Merci pour le coup de main Opal et mtarzaim

Mince j’ai oublié ma pièce jointe

Je crois que tu devrais fusionner les events 10 et 12. Et tu devrais faire =3 à la variable vienemy au début de la scène.