Messages : 18 Localisation : Devant mon ordinateur Projet Actuel : Dodge Quest
Sujet: Plusieurs Jauges de vie Lun 20 Oct 2014 - 20:06
Bonjour/Bonsoir tous le monde!
Dans mon jeu Dodge Quest, je voulais créer deux jauges de vie une pour le boss et une pour le héros. Donc pour celle du boss pas de problème : Life = 100 Draw Jauge en X et Y
Mais au final je ne vois pas de possibilité pour en créer une deuxième étant donné qu'il n'y a pas d'option self / other / autres
Donc si vous savez comment intégrer deux jauges de vie en même temps je vous en serait reconnaissant!
kujaff Très bonne participation
Messages : 127 Localisation : Dans mon Atelier Projet Actuel : Puzzle/Reflexion
Sujet: Re: Plusieurs Jauges de vie Lun 20 Oct 2014 - 21:44
Salut a toi,
Tu créer les variables suivante dans le create de tes objets ayant une barre de vie.
Code:
pv_max = "tes_pdv_max" // nombre de point de vie maximum pv_actuel = pv_max // rend les point de vie actuelle a la valeur max longueur_barre = "longueur_de_la_barre" // definie la longueur de la barre de vie en pixel pv_afficher = longueur_barre // permet de faire prendre la barre des pdv égal a la barre
Puis, dans un object qui te Draw tout ça :
Code:
posx = "ta_valeur" //defini le positionnement x de ta barre posy = "ta_valeur" //defini le positionnement y de ta barre ep_barre = "ta_valeur" // defini l'epaisseur de la barre de vie
draw_rectangle_color(posx,posy,posx+longueur_barre,ep_barre,"c_ta_couleur", "c_ta_couleur","c_ta_couleur","c_ta_couleur", false) // dessine le fond de la barre de vie draw_rectangle_color(posx,posy,posx+pv_afficher,ep_barre,"c_ta_couleur","c_ta_couleur","c_ta_couleur","c_ta_couleur", false) // dessine la barre de vie draw_rectangle_color(posx,posy,posx,ep_barre,"c_ta_couleur","c_ta_couleur","c_ta_couleur","c_ta_couleur", true) // facultatif, encadre la barre de vie
Si tu a plusieurs barres de vie a afficher via le même objet, tu a juste a rajouter des variables posx2, posx3, posy2, posy3, etc etc et a bien pensé a les faire concorder aux barres de vies a afficher.
Et enfin, pour enlever des points de vie sur cette barre :
Code:
degat = "tes_degats"
pv_afficher -= longueur_barre/(pv_max/degat) // enlève proportionnellement tes PV a la barre afficher pv_actuel -= degat // enlève les dégâts reçut a tes PV actuel.
Voilà, tu a juste a remplacer tout ce qui est entre guillemet par les valeurs souhaité et ça devrait être bon.
Squimble Débutant
Messages : 18 Localisation : Devant mon ordinateur Projet Actuel : Dodge Quest
Sujet: Re: Plusieurs Jauges de vie Mar 21 Oct 2014 - 22:25
Merci beaucoup! Je vais tester ça se soir! Si j'ai des problèmes je préviens
Squimble Débutant
Messages : 18 Localisation : Devant mon ordinateur Projet Actuel : Dodge Quest
Sujet: Re: Plusieurs Jauges de vie Mer 22 Oct 2014 - 2:29
Je m'excuse du double post....
Donc j'ai testé le code que tu m'as donné. Alors j'ai plusieurs questions : Dois-je le mettre dans code ou dans script? (Par défaut je l'ai mit dans code) ^^"
Ensuite j'ai eu un petit problème :/ au niveau du Draw Event :
___________________________________________ ERROR in action number 5 of Draw Event for object Survival3:
Error in code at line 5: draw_rectangle_color(posx,posy,posx+longueur_barre,ep_barre,"black", "black","black","black", false) // dessine le fond de la barre de vie ^ at position 38: Wrong type of arguments to +.
Alors que j'avais mit :
Code:
posx = "40" //defini le positionnement x de ta barre posy = "40" //defini le positionnement y de ta barre ep_barre = "15" // defini l'epaisseur de la barre de vie
draw_rectangle_color(posx,posy,posx+longueur_barre,ep_barre,"black", "black","black","black", false) // dessine le fond de la barre de vie draw_rectangle_color(posx,posy,posx+pv_afficher,ep_barre,"green","green","green","green", false) // dessine la barre de vie draw_rectangle_color(posx,posy,posx,ep_barre,"white","white","white","white", true) // facultatif, encadre la barre de viefacultatif, encadre la barre de vie
Aussi j'ai remarqué que pour chaque ligne il y avait 4 c_ta_couleur. Pourquoi quatre 1 ne suffit pas? Du coup j'ai mit la même couleur dans les 4 cases XD Donc si tu pouvais m'éclaircir s'il te plait ça m'aiderai beaucoup
PS : L'épaisseur de la barre est bien en pixel? x)
Mass *Excellent utilisateur*
Messages : 3351 Localisation : Dans une canonnière wookie. Projet Actuel : Monter des trucs et des machins
Sujet: Re: Plusieurs Jauges de vie Mer 22 Oct 2014 - 8:47
Pas de guillemets pour posx = 40 et posy = 40 ! Les guillemets ça sert pour le texte, or là c'est un nombre ! Si tu en mets, GM va croire qu'il s'agit d'un texte, et tu ne peux pas additionner un texte avec un nombre, d'où l'erreur
Ensuite tout est en pixel, la fonction qu'il t'a donné ne dessine pas une barre de vie à proprement parler mais deux rectangles colorés ce qui donne une barre de vie au final.
Pour les couleurs, tu ne peux pas mettre "black", il faut utiliser les constantes de couleurs (c_black, etc, voir dans l'aide de GM) et sans guillemets (ce sont des constantes pas des chaînes de caractères). Tu dois spécifier 4 couleurs à la fonction, ceci étant fait pour permettre les dégradés.
Enfin oui tu dois mettre le code dans code, script c'est pour exécuter un script
Code:
posx = 40 //defini le positionnement x de ta barre posy = 40 //defini le positionnement y de ta barre ep_barre = 15 // defini l'epaisseur de la barre de vie
draw_rectangle_color(posx,posy,posx+longueur_barre,ep_barre,c_black, c_black,c_black,c_black, false) // dessine le fond de la barre de vie draw_rectangle_color(posx,posy,posx+pv_afficher,ep_barre,c_green,c_green,c_green,c_green, false) // dessine la barre de vie draw_rectangle_color(posx,posy,posx,ep_barre,c_white,c_white,c_white,c_white, true) // facultatif, encadre la barre de viefacultatif, encadre la barre de vie
Vérifies que le code dans l'event create concerne bien des nombres et pas des chaînes de caractère, sinon tu auras la même erreur
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
Sujet: Re: Plusieurs Jauges de vie Mer 22 Oct 2014 - 11:09
Ouh la la, c'est dégueulasse comme méthode ca ! pv_actuel et pv_afficher aors qu'ils sont liés ? Un simple produit en croix suffit ! D'ailleurs, si tu veux profiter de l'interpolation de la couleur, tu peux utiliser la fonction draw_healthbar() (c'est pas compliqué à refaire soi-même, mais si c'est déjà implémenté, pourquoi se fatiguer ?)
Squimble Débutant
Messages : 18 Localisation : Devant mon ordinateur Projet Actuel : Dodge Quest
Sujet: Re: Plusieurs Jauges de vie Ven 24 Oct 2014 - 3:08
Merci beaucoup de votre aide! J'ai pu régler un bon nombre de bug!
Mais je me retrouve en face d'un nouveau problème U_U Si vous pouvez éclaircir ma lanterne une nouvelle fois ^^"
Mon joueur à normalement 10 PV. Et j'arrive dans le niveau que cela me met ce bug...
Le problème :
___________________________________________ ERROR in action number 6 of Draw Event for object Survival3:
Error in expression:pv_max position 1: Unknown variable pv_max
Mes Codes :
Code dans le Create du Joueur :
Code:
pv_max = 10 // nombre de point de vie maximum pv_actuel = pv_max // rend les point de vie actuelle a la valeur max longueur_barre = 32 // definie la longueur de la barre de vie en pixel pv_afficher = longueur_barre // permet de faire prendre la barre des pdv égal a la barre
Code de l'objet qui draw le tout :
Code:
posx = viesteinerrobot.x //defini le positionnement x de ta barre posy = viesteinerrobot.y //defini le positionnement y de ta barre ep_barre = viesteinerrobot2.y // defini l'epaisseur de la barre de vie
draw_rectangle_color(posx,posy,posx+longueur_barre,ep_barre,c_black, c_black,c_black,c_black, false) // dessine le fond de la barre de vie draw_rectangle_color(posx,posy,posx+pv_afficher,ep_barre,c_green,c_green,c_green,c_green, false) // dessine la barre de vie draw_rectangle_color(posx,posy,posx,ep_barre,c_white,c_white,c_white,c_white, true) // facultatif, encadre la barre de viefacultatif, encadre la barre de vie
Même en supposant que j'inverse deux lignes du code du create de mon joueur pour donner ça :
Code:
pv_actuel = pv_max // rend les point de vie actuelle a la valeur max pv_max = 10 // nombre de point de vie maximum longueur_barre = 32 // definie la longueur de la barre de vie en pixel pv_afficher = longueur_barre // permet de faire prendre la barre des pdv égal a la barre
Cette fois-ci le niveau démarre normalement mais au moment de la collision avec le tir censé lui enlevé 2 PV cela produit ce bug :
___________________________________________ ERROR in action number 1 of Collision Event with object Tirbleu for object steinerrobot:
Error in code at line 3: pv_afficher -= longueur_barre/(pv_max/degat) // enlève proportionnellement tes PV a la barre afficher ^ at position 33: Division by 0.
Pour le code du Tir dans le collision event du joueur :
Code:
degat = 2
pv_afficher -= longueur_barre/(pv_max/degat) // enlève proportionnellement tes PV a la barre afficher pv_actuel -= degat // enlève les dégâts reçut a tes PV actuel.
Merci d'avance car là je suis perdu :/
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
Sujet: Re: Plusieurs Jauges de vie Ven 24 Oct 2014 - 9:53
Pour la variable inconnue, normal, t'es pas dans le bon objet. Faut que tu fasse Joueur.pv_max. L'autre erreur est assez explicite... Une de tes variables vaut zéro, donc forcément tu peux pas diviser. Si t'apportais les modifications que je t'ai proposées, ce serait quand même plus simple...
Squimble Débutant
Messages : 18 Localisation : Devant mon ordinateur Projet Actuel : Dodge Quest
Sujet: Re: Plusieurs Jauges de vie Ven 24 Oct 2014 - 10:23
Ah d'accord merci je vais essayer d'arranger ça. En fait je n'ai pas trop compris comment faire avec ta méthode c'est pour ça que je n'ai pas tenté ^^" Sinon pour ma variable pv_max qui vaut 0 je ne comprends pas pourquoi... Dans le create de l'objet du joueur c'est écrit 10 :/ (Voir plus haut...)
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
Sujet: Re: Plusieurs Jauges de vie Ven 24 Oct 2014 - 11:20
Ca peut aussi être dégat qui est à 0. Bah t'utilise une seule variable, et tu fais un produit en croix pour la longueur. Exemple : pv entre 0 et 100, et t'as une barre de 250px de large, la longueur de la barre est de pv*250/100.
Squimble Débutant
Messages : 18 Localisation : Devant mon ordinateur Projet Actuel : Dodge Quest
Sujet: Re: Plusieurs Jauges de vie Sam 25 Oct 2014 - 1:31
Merci je testerai cette méthode! Mais il doit vraiment y avoir un problème car ma variable pv_max ne semble pas être définie alors que si :/
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
Sujet: Re: Plusieurs Jauges de vie Sam 25 Oct 2014 - 10:50
On est d'accord : tu initialise pv_max avant pv ? Tu fais pas genre : pv=pv_max; pv_max=10; Parce que la effectivement ca peut que ne pas marcher...
Squimble Débutant
Messages : 18 Localisation : Devant mon ordinateur Projet Actuel : Dodge Quest
Sujet: Re: Plusieurs Jauges de vie Dim 23 Nov 2014 - 14:23
Je suis idiot, j'avais complètement oublié que la version Pro donnait accès à des jauges de vie ennemis.... Mais je me retrouve avec un autre problème. Je n'arrive pas à enlever de la vie relativement au mecha, et je ne comprends pas pourquoi :/ Si vous avec une explication avec la vidéo...
Linky439 Utilisateur confirmé: Rang *****
Messages : 2643 Localisation : Sur le forum du CBNA...ou pas Projet Actuel : La Galaxie Scellée
Sujet: Re: Plusieurs Jauges de vie Dim 23 Nov 2014 - 15:06
Ta vidéo est privée, désolé :/
Par contre tu as bien rectifié ce qu'a dit Térence ? Le coup du pv_max ?
Squimble Débutant
Messages : 18 Localisation : Devant mon ordinateur Projet Actuel : Dodge Quest
Sujet: Re: Plusieurs Jauges de vie Dim 23 Nov 2014 - 16:41
C'est bon j'ai mis la vidéo en publique en fait je ne comprends pas comment mettre en place son code du pv_max... Mais du coup si j'arrive à utiliser correctement enemyhealth ça reglera le problème
Linky439 Utilisateur confirmé: Rang *****
Messages : 2643 Localisation : Sur le forum du CBNA...ou pas Projet Actuel : La Galaxie Scellée
Sujet: Re: Plusieurs Jauges de vie Dim 23 Nov 2014 - 16:50
Ton soucis est tout simple : quand tu mets ton "health-=10", tu le mets dans ton objet "tir", ce qui fait que c'est SA variable health qui va diminuer de 10. Il faudrait mettre dans l'objet du méchant, en collision avec le tir, "health-=10" (enfin, ce que tu as mis quoi, mais le placer dans l'objet du méchant)
Quand au truc du pv_max, tu avais dans ton code un truc comme :
Code:
pv=pv_max pv_max=10
Et il te disait que là, bah, pv on sait pas ce que c'est vu que tu définis pv_max après. En gros tu dis à GM "pv, c'est égal à un truc, mais on sait pas encore quoi"
Squimble Débutant
Messages : 18 Localisation : Devant mon ordinateur Projet Actuel : Dodge Quest
Sujet: Re: Plusieurs Jauges de vie Dim 23 Nov 2014 - 18:03
Ah merci je comprends un peu mieux maintenant! J'ai testé ce que tu m'as dit de faire mais je me retrouve face à un nouveau problème. Maintenant j'ai beau avoir indiqué que ça devait enlever la vie de 10 relativement mais on dirait que l'action qu'il réalise est plutôt "à l'impact la nouvelle vie est de 10"... Si tu peux m'aider :/
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
Sujet: Re: Plusieurs Jauges de vie Dim 23 Nov 2014 - 18:04
Faut faire pv-=10 ou si t'es en d&d cocher relative.
Squimble Débutant
Messages : 18 Localisation : Devant mon ordinateur Projet Actuel : Dodge Quest
Sujet: Re: Plusieurs Jauges de vie Dim 23 Nov 2014 - 18:11
Mais dans ma variable qui est dans la collision j'ai bien mit (-10) et relatif. C'est quoi D&D?
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
Sujet: Re: Plusieurs Jauges de vie Dim 23 Nov 2014 - 18:22
Quand tu tape pas de code mais que tu utilise les icônes de droite, c'est que tu fais du D&D. Mets un piece of code avec pv-=10, ca devrait marcher, autrement poste un screen de ce que t'as entré.
Squimble Débutant
Messages : 18 Localisation : Devant mon ordinateur Projet Actuel : Dodge Quest
Sujet: Re: Plusieurs Jauges de vie Dim 23 Nov 2014 - 18:25
Ah d'accord merci. J'ai mit une vidéo plus haut pour que vous puissiez regarder tous ce que j'ai fait.
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
Sujet: Re: Plusieurs Jauges de vie Dim 23 Nov 2014 - 18:38
Oui bah t'as pas coché relative quand t'enlève les pv...
Squimble Débutant
Messages : 18 Localisation : Devant mon ordinateur Projet Actuel : Dodge Quest
Sujet: Re: Plusieurs Jauges de vie Dim 23 Nov 2014 - 18:41
Si je l'ai bien mit, tu as bien regardé la deuxième vidéo? "enemyhealth jauge de vie2"
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
Sujet: Re: Plusieurs Jauges de vie Dim 23 Nov 2014 - 18:47
Ah effectivement j'ai ptet regardé la mauvaise. Suis sur smartphone et c'est légèrement ******. Mets le code que je t'ai dit et vérifie bien que c'est dans le bon event et que ca s'applique bien au bon objet. C'est pas compliqué, suffit juste d'etre attentif.
Squimble Débutant
Messages : 18 Localisation : Devant mon ordinateur Projet Actuel : Dodge Quest
Sujet: Re: Plusieurs Jauges de vie Dim 23 Nov 2014 - 20:01
J'essaierai, mais avant j'aimerai juste savoir mon erreur dans le code de la vidéo. ça serai bien de sans avoir à coder de pouvoir obtenir une deuxième jauge de vie avec enemyhealth...
alexof Pas mal
Messages : 31 Projet Actuel : Dodge Quest v1.2
Responsable Textes, Sprites, Paperasse
Developpement de la version 1.3
Sujet: Re: Plusieurs Jauges de vie Mar 2 Déc 2014 - 22:13
Squimble a écrit:
J'essaierai, mais avant j'aimerai juste savoir mon erreur dans le code de la vidéo. ça serai bien de sans avoir à coder de pouvoir obtenir une deuxième jauge de vie avec enemyhealth...
Up - La vrai question n'est pas comment faire un code pour avoir deux vies. La question est plutôt celle-ci : A partir de Game Maker, comment faut-il faire pour créer une seconde jauge de vie avec les fonctionnalités déjà présente dans le programme.
NB : Squimble a filmé sa manip et ne comprend pas pourquoi ca plante.
tomas842 Nouveau
Messages : 3
Sujet: Re: Plusieurs Jauges de vie Mar 9 Déc 2014 - 7:50
créer une seconde jauge de vie n'est pas complexe, je crois que vous pouvez le ressayer
Messages : 18 Localisation : Devant mon ordinateur Projet Actuel : Dodge Quest
Sujet: Re: Plusieurs Jauges de vie Dim 14 Déc 2014 - 22:23
Bon je vois que ma question a été incomprise je vais la reformulée. Comme la dit Alexof. Dans la vidéo suivante mon objectif était d'enlever de la vie RELATIVEMENT au mécha. Or à la fin de la vidéo au moment de la collision du tir sa vie tombe directement à 10 et je ne comprends pas pourquoi.