Création d'une jauge avec l'Event Extender
QU'EST CE QU'ON VEUT FAIRE ?? :D
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.
La 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.
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).
Explication 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.
Repré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
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.
Maté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): percent(actor_hp(1), actor_mhp(1))
Utilisation 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): SV[1] = actor_hp(1)
SV[2] = actor_mhp(1)
SV[3] = percent(SV[1], SV[2])
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].
Code complet de la jauge
Pour rappel, le code est à placer dans un événement en processus parallèle (pourquoi pas un événement commun
):
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 :
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 !
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