Création d'une jauge avec l'Event Extender
{Tutoriel d'utilisation de l'Event Extender}
Dans cet article, nous allons apprendre à nous servir de l'Event Extender pour résoudre un problème très ennuyeux, la création d'une jauge sur la carte.
Nous apprendrons donc à nous servir de certaines primitives de l'Event Extender.
- Grim, 01/04/2013 à 13h02.


Création d'une jauge avec l'Event Extender - Grim

Création d'une jauge avec l'Event Extender



SmileyQU'EST CE QU'ON VEUT FAIRE ?? :D


icone Introduction !



Créer une jauge dont la valeur peut varier est une tâche ennuyeuse en Event Making, elle est souvent coûteuse en temps.
Nous allons utiliser l'Event Extender pour réaliser très rapidement une jauge qui joue sur l'agrandissement d'une image.

SmileyLa problématique


Naturellement, une jauge à l'air très facile à déployer car il ne suffirait que de modifier le zoom_x d'une image en fonction d'un rapide calcul de pourcentage de la valeur à afficher sous forme de jauge au nombre de points maximum. Cependant, RPGMaker ne permet naturellement pas d'utiliser des variables pour modifier le zoom. C'est pour ça qu'il nous faudra utiliser l'Event Extender.

icone Création de notre jauge


Avant de nous lancer dans notre création, nous allons voir quel est l'objectif de ce tutoriel. Ce que nous voulons réaliser:



L’événement représenté par une fille ne se contente que de diminuer les points de vie de l'acteur numéro 1. En voyant cette image, on peut déjà déduire qu'il nous faudra deux images. Une image qui correspondra au fond de la jauge (partie noire) et une image qui sera le contenu de la jauge (partie verte).

SmileyExplication du principe



Le fonctionnement de ce système en Event-Making est assez simple. On affiche d'abord le fond de la jauge et le contenu de la jauge (l'image noire et l'image verte). Ensuite il suffira de changer le zoom_x de l'image (via la commande picture_zoom_x(id, value)) en fonction des valeurs souhaitées.

SmileyReprésentation schématique



Notre jauge se trouvera dans un événement en processus parallèle. Dans un premier temps on affichera les deux images, ensuite, dans une boucle, on calculera chaque fois le pourcentage de point de vie que possède le héros (Acteur 1 dans notre exemple) et on modifiera son zoom_x en fonction du pourcentage calculé juste avant. Voici comment se déroulera la structure de notre événement:


• Affichage du fond (image 1)
• Affichage de la jauge (image 2)
• Boucle


• Attendre 1 frame (pour éviter le lag)
• Récupérer le nombre de point de vie de l'acteur 1
• Récupérer le nombre de point de vie max de l'acteur 1
• Calculer le pourcentage de point de vie de l'acteur 1
• Modifier le zoom_x de l'image 2 avec le pourcentage obtenu


• Fin de la boucle


Comme vous pouvez le voir, c'est assez facile. Nous allons voir maintenant le matériel dont nous avons besoin pour effectuer ce genre de chose. Et il nous suffira de changer le schéma que nous avons établi par les vraies commandes.

SmileyMatériel requis



Les images

Fond de la jauge
Jauge remplie


Il est important de noter que ces images sont ici à titre d'exemple mais qu'il aurait été tout à fait possible de créer vos propres images.
Par exemple, dans l'ancienne version de l'Event Extender, le tutoriel que j'avais présenté utilisait ces images :


Fond de la jauge
Jauge remplie


Maintenant nous allons voir les commandes dont nous avons besoin, il nous en faut 4. La première servira à récupérer le nombre de points de vies courant de l'acteur 1, la seconde à récupérer le nombre de points de vies maximums de l'acteur 1 et la dernière calculera un pourcentage entre le nombre de points de vies courants et le nombre de points de vies max. La dernière étant celle de modification du zoom_x.

Les commandes

• actor_hp(ID) -> donne le nombre de points de vies courants d'un acteur en fonction de son ID
• actor_mhp(ID) -> donne le nombre de points de vies MAX d'un acteur en fonction de son ID
• percent(valeur, max) -> donne le pourcentage de valeur par rapport à max
• picture_zoom_x(ID, Pourcentage) -> modifie le zoom_x d'une image.


Nous avons maintenant tous le matériel nécessaire à la création de notre jauge. Notre pourcentage se trouvant de cette manière :

Code (Ruby):
  1. percent(actor_hp(1), actor_mhp(1))


SmileyUtilisation de variables locales



Plutot que de tout faire sur une ligne comme je l'ai montré dans la section précédente, nous allons nous servir de variable locale pour stocker nos résultats. Notre première variable locale contiendra le résultat de actor_hp(1), notre seconde variable locale contiendra le résultat de actor_mhp(1) et notre dernière variable locale contiendra le résultat du pourcentage de la locale 1 et de la locale 2. Et ensuite il suffira d'utiliser la valeur de la variable locale 3 pour modifier le zoom de l'image 2. Ce qui nous donnes :

Code (Ruby):
  1. SV[1] = actor_hp(1)
  2. SV[2] = actor_mhp(1)
  3. SV[3] = percent(SV[1], SV[2])
  4. picture_zoom_x(2, SV[3])


C'est un petit peu de la coquetterie de ma part mais je trouve ça plus lisible et on comprend bien que pour changer le type de jauge (donc les informations à afficher), il suffit de changer SV[1] et SV[2].

SmileyCode complet de la jauge



Pour rappel, le code est à placer dans un événement en processus parallèle (pourquoi pas un événement commun Smiley):



Comme vous pouvez le voir, le code est extrêmement court et je vous propose une version encore plus courte, mais moins lisible de mon point de vue :



icone Conclusion



Comme vous pouvez le voir, créer une jauge est un processus très rapide et très facile avec l'Event Extender, c'est pour cette raison que je n'ai pas intégré d'outil de jauge. Il est évidemment possible d'en faire des variations. Par exemple, utiliser le pourcentage obtenu pour jouer sur la teinte de la jauge et l'a faire passer du vert au rouge.
J'espère que vous en trouverez pleins d'utilisations possibles et n'hésiter pas à poster des questions (ou des remarques ou des compliments xD) sur ce site qui respire la modernité et qui possède donc son propre système de commentaires !

Bilou ! Smiley

Index

Tags

Annonces
Bilou Concept
BilouCorp
Découvertes
Event Extender
Jeux
RPG Maker
Script
Tutoriel

Auteurs

2cri
Grim
Hiino
Joke
Nuki
PypeBros
Raho
S4suk3

Suivez nous
Rss

Poster un commentaire



Commentaires

Lyni
bonjour,
Je cherche un script ou un évènement pour Faire bouger les herbes quand le heros passe dessus et faire faire un plonger pour rpg maker xp
Merci Posté le : 17/05/2015 à 06h57
Dany
Peut-on faire un système de niveaux pour des métiers?
Du genre Alchimiste niveaux 2 avec barre de progression, qui seras l'expérience, pour monter de niveaux. Comme les héros avec leurs niveaux. Posté le : 28/11/2014 à 18h58
Jodge
Pas mal, mais j'ai un bug, lorsque j'utilise cette fonction en légèrement dérivé (affichage à des coordonnés différentes uniquement) je ne peux plus effacer les deux images de la jauges (grâce a la fonction déjà présente)... Et j'ai aucun autre script, donc le problème viens de celui la... Posté le : 03/09/2013 à 15h47
Joke
Merci pour cette jolie publication ! Je te fais plein de poutoux ! <3

J'espère que ça sera utile à beaucoup de gens ! Posté le : 01/04/2013 à 13h06