Roys Guide
Nombre de messages : 111 Age : 52 Projet Principal : Le Crépuscule des Dieux Aide Recherchée pour : des chara aRPG Surnom : Scripteur Monomaniaque Date d'inscription : 24/02/2007
| Sujet: "Jauge Graphique" Gérer des jauges graphiques Dim 18 Mar - 6:08 | |
| Bonjour Ce script vous permettra de créer plusieurs jauges : - à l'emplacement que vous voulez sur l'ecran - qui réprésente une image - avec un texte par dessus - de la déplacer a n'importe quel moment du jeu et de changer son opacité La jauge est gérée par une variable RPG Maker XP que VOUS désignez. Elle est mise à jour automatique dès que vous l'avez créée. Vous pouvez l'effacer à tout moment par une commande simple Enfin, la sauvergarde est intégrée. C'est à dire que si vous sauvez votre partie, la jauge prendra la place où vous l'avez laissé lors de la sauvegarde. Voici le script appelez le Jauge_Graphique et mettez le au dessus de main. Des explications sont indiquées en en-tête pour créer votre première jauge, lisez les attentivement. Attribuez une valeur de départ à votre variable bien sûr bon making Voici un exemple, avec un jauge symbolisée par un épée, la jauge se découvre au fur et à mesure de vos HP N'oubliez pas d'ajouter le script ci-dessous si vous ne l'avez pas déja faithttps://lodm.forumactif.com/Groupe-pour-Scripts-f4/Outils-pour-Event-Maker-f7/A-mettre-pour-ajouter-de-nouvelles-fonctions-t35.htmAppelez ce script JaugeG au dessusde main - Code:
-
#============================================================================ # SCRIPT DE JAUGE GRAPHIQUE # Stephane Roys, Royer # Fevrier 2007 # Projet: Petite Boite à outils pour aider les event maker
# Ce script permet de gèrer en event l'apparition d'une jauge dont la longueur # dépend d'une variable RPG Maker #------------------------ # EXPLICATION (lire attentivement) #------------------------ # CREER un jauge graphique en event # Faire inserer commentaire : # Jauge graphique nom x y var min max votre_image votre_texte # Remplacer # nom le nom identifiant votre jauge # x et y par les coordonnées ecran ou s'affichent votre jauge # var par le numéro de votre variable RPG maker qui contrôle la jauge (entre 1.999) # min la valeur minimale que peut prendre la variable (par ex : 0) # max la valeur maximale que peut prendre la variable (par ex : 100) # "votre_image" est le nom de l'image que vous avez importé dans le répertoire Pictures # "votre_texte" entre guillement est le nom de votre jauge (par ex "HP").
# DEPLACER une jauge graphique # Faire inserer commentaire: jauge graphique deplace x y p # Remplacer # x par la position de la fenetre sur la largeur # y par la position de la fenetre sur la hauteur # p l'opacité de la fenetre de jauge # Si vous voulez remplacer une coordonnées parune variable de RPG maker, il vous suffit d'ecrire v1 # pour la variable 1, v2 pour la variable 2 et ainside suite
# EFFACER une jauge graphique # Faire inserer commentaire: jauge graphique nom efface # Remplacer nom par le nom de la jauge que vous voulez effacer #------------------------ # exemple: # inserer commentaire : Jauge graphique Hp 0 0 1 0 100 majauge HP # ici on créé un jauge hp qui s'affiche en 0,0 (coin haut gauche) # gèré par la variable001, dont les valeurs sont comprises entre 0 et 100 # L'image est réprésentée par "majauge" # Le texte HP apparait par au dessus de la jauge
# Inserer commentaire Jauge Graphique Deplace Hp v1 v2 255 # deplace la jauge Hp en v1, v2 qui sont 2 variables de RPG maker, avec une opacité de 255
#------------------------ # RECOMMANDATIONS #------------------------ # 1- Vous pouvez changer la taille de la Police de toute jauge ici: FONT="Arial" TAILLE=16
#2- Prenez soin de donner des noms différents à vos jauges sinon vous risquez d'avoir des conflits
#3- Ne crééez pas une jauge en processus parallèle sinon vous allez créér une nouvelle jauge à chaque frame # jusqu'a ce que RM bug
#4- La sauvergarde est comprise dans le script. Donc apres un load votre jauge sera dans l'etat ou elle a été sauvée
#5- Les jauges s'effacent toutes seuls quand vous sortez de la map vers un menu, et elles se recréent seules quand vous revenez sur la map
#============================================================================
INTERPRETER_JAUGEG="JAUGEGRAPHIQUE"
#============================================================================== # Interpreter # Permet d'ajouter une fonction un pas vers en commentaire dans un event #============================================================================== class Interpreter alias outil_jaugeg2_command108 command_108
def command_108 # Commande non valide if not @parameters[0].split.size<7 # Commande valide if @parameters[0].upcase[/JAUGE GRAPHIQUE/]=="JAUGE GRAPHIQUE" #---------------------- # Recupère les parametres de la commande(x,y,var,min,max,"votre_image","votre_texte") com=@parameters[0].split nom=com[2] # fonction DEPLACER if com[3].upcase=="DEPLACE" # Cherche la jauge par son nom for jaugeg in $game_party.jaugesg next if jaugeg.nom.upcase!=nom.upcase # Recupère les valeurs d'une variable ou la valeur brute mot=com[4] x= ( mot[0,1]=="v" ? $game_variables[(mot.gsub!("v") {}).to_i] : mot.to_i) mot=com[5] y= ( mot[0,1]=="v" ? $game_variables[(mot.gsub!("v") {}).to_i] : mot.to_i) mot=com[6] p= ( mot[0,1]=="v" ? $game_variables[(mot.gsub!("v") {}).to_i] : mot.to_i) jaugeg.deplace(x,y,p) return true end return true end # Fonction EFFACE if com[3].upcase=="EFFACE" # cherche le nom et efface la jauge for jaugeg in $game_party.jaugesg next if jaugeg.nom.upcase!=com[4].upcase jaugeg.off return true end end # fonction CREER x=com[3].to_i y=com[4].to_i var=com[5].to_i min=com[6].to_i max=com[7].to_i image=com[8] texte=com[9] # Crée la jauge Jauge_Graphique.new(nom,x,y,var,min,max,image,texte) return true end end outil_jaugeg2_command108 end end
#============================================================================ # JAUGE # Créé le tableau des Jauges de Jeu #============================================================================ class Game_Party attr_accessor:jaugesg alias jaugeg2_game_party_initialize initialize #-------------------------------------------------------------------------- # INITIALIZE #-------------------------------------------------------------------------- def initialize jaugeg2_game_party_initialize # Tableau des jauges @jaugesg=[] end end
#============================================================================ # JAUGE #============================================================================ class Jauge_Graphique attr_accessor:nom attr_accessor:value attr_accessor:x attr_accessor:y attr_accessor:texte attr_accessor:opacite attr_accessor:image attr_accessor:var attr_accessor:w attr_accessor:h attr_accessor:fin_jaugeg #-------------------------------------------------------------------------- # INITIALIZE #-------------------------------------------------------------------------- def initialize(nom,x,y,var,min,max,image,texte) @x=x;@y=y;@var=var;@min=min;@max=max @texte=texte @nom=nom @fin_jaugeg=false @visible=true @image=image @opacite=255 image=Bitmap.new("Graphics/Pictures/"+image) @w=image.width @h=image.height $game_party.jaugesg.push(self) end #-------------------------------------------------------------------------- # UPDATE # Calcule la longueur de la jauge en fonction de la variable var affectée #-------------------------------------------------------------------------- def update @value = @w * $game_variables[@var] / (@max-@min) end
#-------------------------------------------------------------------------- # OFF # Termine la jauge #-------------------------------------------------------------------------- def off @fin_jaugeg=true end #-------------------------------------------------------------------------- # DEPLACEMENT # Deplace la jauge #-------------------------------------------------------------------------- def deplace(x,y,p) @x=x @y=y @opacite=p end end
#============================================================================ # ■ Spriteset Map #============================================================================ class Spriteset_Map #-------------------------------------------------------------------------- alias jaugeg2_spriteset_map_initialize initialize alias jaugeg2_spriteset_map_dispose dispose alias jaugeg2_spriteset_map_update update #-------------------------------------------------------------------------- # INITIALIZE #-------------------------------------------------------------------------- def initialize # Créé les jauges @jaugeg_windows=[] for jauge in $game_party.jaugesg setup_jaugeg(jauge) end jaugeg2_spriteset_map_initialize end #-------------------------------------------------------------------------- # SETUP #-------------------------------------------------------------------------- def setup_jaugeg(jauge) window=Window_Base.new(jauge.x, jauge.y, jauge.w+32, jauge.h+32+TAILLE) window.contents = Bitmap.new(window.width - 32, window.height - 32) window.contents.font.color= Color.new(0,0,0) window.opacity=0 window.contents_opacity = jauge.opacite window.z = 3000 window.contents.font.name = FONT window.contents.font.size = TAILLE @jaugeg_windows.push(window) end
#-------------------------------------------------------------------------- # UPDATE #-------------------------------------------------------------------------- def update jaugeg2_spriteset_map_update #----------------------------- # Cherche si une nouvelle jauge a été créée for key in @jaugeg_windows.size..$game_party.jaugesg.size-1 setup_jaugeg($game_party.jaugesg[key]) end #----------------------------- # Update la jauge delete_window=[] delete_jauge=[] for key in 0..$game_party.jaugesg.size-1 jauge=$game_party.jaugesg[key] window=@jaugeg_windows[key] # Affiche la fenêtre de la jauge update_jaugeg(jauge, window) # Observe si la jauge est disposée if jauge.fin_jaugeg delete_window.push(window) delete_jauge.push(jauge) end end #----------------------------- # Dispose la jauge for window in delete_window window.dispose @jaugeg_windows.delete(window) end for jauge in delete_jauge $game_party.jaugesg.delete(jauge) end end #-------------------------------------------------------------------------- # UPDATE JAUGE #-------------------------------------------------------------------------- def update_jaugeg(jauge,window) #----------------------------- # Recalcule la jauge jauge.update window.x=jauge.x window.y=jauge.y window.contents_opacity=jauge.opacite #----------------------------- window.contents.clear image=Bitmap.new("Graphics/Pictures/"+jauge.image) w=image.width h=image.height # Affiche l aportion de la jauge graphique et le texte window.contents.draw_text(0,0,jauge.w,jauge.h,jauge.texte,1) window.contents.blt(0, TAILLE, image, Rect.new(0,0,jauge.value,jauge.h)) end #-------------------------------------------------------------------------- # DISPOSE #-------------------------------------------------------------------------- def dispose jaugeg2_spriteset_map_dispose for window in @jaugeg_windows window.dispose end end end
Dernière édition par le Ven 25 Jan - 13:02, édité 1 fois | |
|
dams999
Nombre de messages : 12 Date d'inscription : 12/05/2007
| Sujet: Re: "Jauge Graphique" Gérer des jauges graphiques Lun 25 Juin - 11:18 | |
| Heu Roys, j'ai détecté 1 petit défaut, impossible d'effacer les jauges avec la commande:
jauge graphique nom ou encore Jauge graphique nom ou encore jauge grapique "nom".
Si tu pouvais voir sa^^. | |
|
Roys Guide
Nombre de messages : 111 Age : 52 Projet Principal : Le Crépuscule des Dieux Aide Recherchée pour : des chara aRPG Surnom : Scripteur Monomaniaque Date d'inscription : 24/02/2007
| Sujet: Re: "Jauge Graphique" Gérer des jauges graphiques Jeu 28 Juin - 4:40 | |
| Bien sur^^ Je ne sais pas si tu t es trompé dans les exemples que tu me donnes mais je ne vois nul part le mot efface: la commande juste est: Faire inserer commentaire: jauge graphique efface nom C est ca? | |
|
dams999
Nombre de messages : 12 Date d'inscription : 12/05/2007
| Sujet: Re: "Jauge Graphique" Gérer des jauges graphiques Jeu 28 Juin - 8:34 | |
| Heu oui, dans mon exemple j'ai oublie le "efface", mais en mettant en commentaire:
jauge graphique efface nom ou encore Jauge graphique efface nom ou encore jauge grapique efface "nom".
Je n'obtient aucun resultat. | |
|
Contenu sponsorisé
| Sujet: Re: "Jauge Graphique" Gérer des jauges graphiques | |
| |
|